-
C# 键盘Ctrl+g控制蜂鸣器播放声音
Visual C#播放声音,运行程序后,操作键盘上的Ctrl+g组合键发出蜂鸣声...这里的拖放声音是蜂鸣声,从音箱里发出,并不是从机箱的蜂鸣器发声。实现的过程和细节代码如下:
//导入 Windows Beep() API 函数
[DllImport("kernel32.dll")]
private static extern bool Beep(int freq, int dur);
// 定义PlaySound()要使用的常数
public const int SND_FILENAME = 0x00020000;
public const int SND_ASYNC = 0x0001;
// 导入 Windows PlaySound() 函数
[DllImport("winmm.dll")]
public static extern bool PlaySound(string pszSound,
int hmod,
int fdwSound);
[STAThread]
static void Main(string[] args)
{
// 使用Ctrl+g发出蜂鸣声
Console.Write("a");
Console.WriteLine("使用Ctrl+g发出蜂鸣声...");
Console.ReadLine();
// 使用 Windows API 发出蜂鸣声
Beep(800, 200);
Console.WriteLine("使用 Windows API 发出蜂鸣声...");
Console.ReadLine();
// 播放bells.wav文件
PlaySound("bells.wav",
0,
SND_FILENAME | SND_ASYNC);
Console.WriteLine("播放bells.wav文件...");
Console.ReadLine();
}
- 2022-05-23 17:14:52下载
- 积分:1
-
C# SelectedItem选择移动数据项 点菜功能
这是个实用的小功能,在WEB开发时也经常会看到这种功能,将item数据项由左侧移动到右侧,这是一个选择+移动的功能,全部添加到选择的项中,判断是否已经选择了该菜单项,比如本例子利用左右移动SelectItem项实现了点菜功能:
private void button3_Click(object sender, EventArgs e)//移除所有已经选择的菜
{
lbChoose.Items.Clear();
}
private void button1_Click(object sender, EventArgs e)//单个添加到选择的项中
{
if (lbSocure.SelectedIndex != -1)
{
if (!lbChoose.Items.Contains(lbSocure.Text))//判断是否已经选择了该菜
lbChoose.Items.Add(lbSocure.SelectedItem.ToString());//添加选择的菜
else
MessageBox.Show("您已经选择了该菜,请重新选择。");
}
}
- 2022-06-13 08:29:58下载
- 积分:1
-
w5500 DHCP 客户端 源代码
官方的DHCP 客户端源代码,经本人亲自验证 100% 可用。
- 2023-05-25 06:20:04下载
- 积分:1
-
Visual C#创建两个基本的线程(多线程)实例
Visual C#创建两个基本的线程(多线程)实例,为了演示方便,这里把本实例 写成了一个控制台程序,创建两个线程后,通过控制台输出线程信息,演示了两个线程同时工作,下面来看具体代码:
创建两个基本的线程:
Thread thread1 = new Thread(new ThreadStart(Thread1)); //使用自定义方法Thread1声明线程
thread1.Priority = ThreadPriority.Lowest;//设置线程的调度优先级
Thread thread2 = new Thread(new ThreadStart(Thread2)); //使用自定义方法Thread2声明线程
thread1.Start();//开启线程一
thread2.Start();//开启线程二
定义函数向控制台输出线程:
static void Thread1()
{
Console.WriteLine("线程一");
}
输出线程二则可按照上面再创建一个函数,不再列举源码了。
- 2022-03-18 18:55:49下载
- 积分:1
-
C# WPF 方法为TextBox控件设置背景图像
C# 为TextBox控件设置背景图像,结合C#的WPF实现,其实刚开始我还以为这是一个图像特效,在图片上添加文字,如示例截图所示的黄圈的部分,其实有一个TextBox,鼠标单击一下就会发现,这里可以输入文字的,正好输入在图片的上方,好像是为图片添加描述文字,其实本实例所展示的功能和图像处理关系不大,主要是对TextBox的操作,为其增加了一张背景图片所呈现出的效果。核心代码如下:
private void Window_Loaded(object sender, RoutedEventArgs e)
{//为TextBox控件设置背景图像
ImageBrush MyImageBrush = new ImageBrush();
MyImageBrush.ImageSource =new BitmapImage(
new Uri("J003.jpg", UriKind.RelativeOrAbsolute));
MyImageBrush.AlignmentX = AlignmentX.Left;
MyImageBrush.Stretch = Stretch.None;
this.textBox1.Background = MyImageBrush;
}
- 2022-08-20 01:07:16下载
- 积分:1
-
STM32F4的三相SPWM逆变器源码
STM32F4的三相SPWM逆变器源码
//该源码是基于STM32F4的三相SPWM逆变器的C程序
#include "stm32f4_discovery.h"
#include "timer.h"
#include "FONT.h"
#include "LCD12864.h"
#include "outputdata.h"
#include
#include "arm_math.h"
- 2022-03-30 05:56:10下载
- 积分:1
-
C# SQL语句查询指定区间内的数据库内容
C# 查询数据库信息,具体到本例中,是查询第10到第20名的数据,这在平时的数据库运用中,十分实用,比如查询指定区间内的成绩、销售业绩等,将查询出的数据给予一定的等级,本程序查询到的数据将返回DataTable对象:
string P_Str_ConnectionStr = string.Format(//创建数据库连接字符串
@"server=WIN-GI7E47AND9RLS;database=db_TomeTwo;uid=sa;pwd=");
string P_Str_SqlStr = string.Format(//创建SQL查询字符串
@"SELECT TOP 10 * FROM (SELECT TOP 20 * FROM tb_Grade ORDER BY 总分 DESC) AS st ORDER BY 总分 ASC");
SqlDataAdapter P_SqlDataAdapter = new SqlDataAdapter(//创建数据适配器
P_Str_SqlStr, P_Str_ConnectionStr);
DataTable P_dt = new DataTable();//创建数据表
P_SqlDataAdapter.Fill(P_dt);//填充数据表
return P_dt;//返回数据表
- 2022-11-06 22:25:03下载
- 积分:1
-
C# 使用ODBC非DSN连接SQL Server数据库
C# NoDSN功能实例,使用ODBC非DSN连接SQL Server数据库,string odbcConStr =//创建数据库连接字符串
@"driver=SQL Server;server=WIN-GI7E47AND9RLS;UID=sa;PWD=;database=db_TomeTwo";
OdbcConnection odbcCon = new OdbcConnection(odbcConStr);//创建数据库连接对象
OdbcDataAdapter da =//创建数据适配器对象
new OdbcDataAdapter("select * from 帐单", odbcCon);
DataTable dt = new DataTable();//创建数据表
da.Fill(dt);//填充数据表
this.dgv_Message.DataSource =//设置数据源
dt.DefaultView;
}
- 2023-03-02 09:35:03下载
- 积分:1
-
C# wpf 创建简单形状动画的例子
C# wpf 创建简单形状动画的例子,启动动画、停止动画、暂停动画、继续动画、加速动画。创建动画
Rectangle MyRectangle = new Rectangle();
MyRectangle.Width = 50;
MyRectangle.Height = 20;
MyRectangle.Margin = new Thickness(10, 50, 0, 0);
MyRectangle.Fill = new LinearGradientBrush(
Color.FromArgb(255, 0, 255, 255), Color.FromArgb(255, 0, 0, 255), 0);
MyRectangle.HorizontalAlignment = HorizontalAlignment.Left;
this.canvas1.Children.Add(MyRectangle);
this.RegisterName("MyRectangle", MyRectangle);
DoubleAnimation MyAnimation =
new DoubleAnimation(100, 380, new Duration(TimeSpan.FromSeconds(5)));
Storyboard.SetTargetName(MyAnimation, "MyRectangle");
Storyboard.SetTargetProperty(MyAnimation,
new PropertyPath(Rectangle.WidthProperty));
MyStoryboard = new Storyboard();
MyStoryboard.Children.Add(MyAnimation);
动画效果请参见下图所示,源代码请单击下载按钮下载。
- 2022-08-25 13:04:57下载
- 积分:1
-
一个C# 多线程的网页异步抓取类文件代码
一个C#编写的多线程异步抓取网页的网络爬虫控制台程序类代码,这个类实现对网页URL指定内容网页的抓取,并抓取 内容中的链接、文字内容、从HTML代码中分析出链接信息等,本类中还定义了大量的私有方法,从这些私有方法中可从HTML文本中提取出一定字数的纯文本、提取网页中一定字数的纯文本,包括链接文字、提取一定数量的链接,该链接的URL满足某正则式、提取本网页的纯文本中满足某正则式的文字等。
本代码作者:大黑。
本爬虫程序的速度如下:
10线程最快大概400个链接每分钟
6-8线程最快大概200-300个链接每分钟
2-4线程最快大概150-200个链接每分钟
单线程最快大概70-100个链接每分钟
之所以用多线程异步抓取完全是出于效率考虑,本程序多线程同步并不能带来速度的提升,只要抓取的网页不要太多重复和冗余就可以,异步并不意味着错误。
- 2023-05-03 15:55:03下载
- 积分:1