-
C# 锁定线程释放Mutex对象
C# 锁定线程释放Mutex对象的例子,与锁定线程相比,多了释放Mutex对象的功能,实现方法和思路大致差不多:
C#锁定线程,可编写以下代码:
Program myProgram = new Program();//实例化类对象
myProgram.LockThread();//调用锁定线程方法
C# 释放Mutex对象,可编写以下代码:
Mutex myMutex = new Mutex(false);//实例化Mutex类对象
myMutex.WaitOne();//阻止当前线程
Console.WriteLine("锁定线程以实现线程同步");
myMutex.ReleaseMutex();//释放Mutex对象
完整可运行源码实例,请下载本源码。
- 2022-08-10 07:43:23下载
- 积分:1
-
visual C# 基本的用户名密码登录判断示例
一个else if结构的用户登录判断模块,这个是基于C#版的,代码超简单,没有使用数据库,只是交待出了完整的判断过程,后续使用数据库时,原理基本差不多,只不过这里的用户名和密码是从数据库中读取出来,下面是基本的判断过程:
if (textBox1.Text == "")//判断是否输入的用户名
{
MessageBox.Show("用户名不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
else
{
if (textBox1.Text.ToLower() == "tsoft" && textBox2.Text == "111")//判断用户名和密码是否正确
{
MessageBox.Show("登录成功!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
else
{
MessageBox.Show("用户名或密码错误!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}结合数据库实现时,先建立数据库连接,读取出用户名和密码赋值到变量中,然后使用上述代码即可判断。
- 2022-07-21 04:48:54下载
- 积分:1
-
C# AVG、SUM、COUNT、SqlHelper等函数用法示例
本源码主要是一些C#数据库操作函数的示例,比如使用函数AVG计算数值字段平均值、使用函数SUM计算数值字段累加和
使用函数COUNT统计数据库记录数、使用SqlHelper查询数据库记录、使用SqlHelper获取聚合函数值、使用SqlHelper增加数据库记录等,每一个例子都有详细的源代码。
实现这些功能需要调用Microsoft.ApplicationBlocks.Data.dll,DataAccessApplicationBlock.msi已打包在源码包中。
程序运行效果如下图示,单击对应按钮即可查看对应的功能演示,测试前请先连接好数据库。
- 2022-10-25 05:55:02下载
- 积分:1
-
C# wpf方法的最大化和最小化窗口
Viaual C# 使用wpf方法实现最大化和最小化窗口,和默认的方式似乎有些不同.有兴趣的可参考以下代码:
private void button1_Click(object sender, RoutedEventArgs e)
{//最大化显示窗口
this.WindowState = System.Windows.WindowState.Maximized;
}
private void button2_Click(object sender, RoutedEventArgs e)
{//最小化显示窗口
this.WindowState = System.Windows.WindowState.Minimized;
}
private void button3_Click(object sender, RoutedEventArgs e)
{//还原窗口
this.WindowState = System.Windows.WindowState.Normal;
}
private void button4_Click(object sender, RoutedEventArgs e)
{//关闭窗口
this.Close();
}
- 2022-01-25 15:01:45下载
- 积分:1
-
vb串口调试助手源码,可用于自己做调试测试工具
1.用易懂的VB语言编程 2.可设置串口号波特率 3.支持十六进或字符形式发送或接收,可定时发送。3,可自己换程序的图片
- 2022-07-13 02:02:52下载
- 积分:1
-
C# 读取GDI+图像元数据
C# 读取GDI+图像元数据,比如可读取图片的长度和宽度/ID/类型等信息.
- 2023-04-30 06:00:03下载
- 积分:1
-
C#使用SqlDataAdapter对象的Fill方法填充DataSet
C#使用SqlDataAdapter对象的Fill方法填充DataSet,具体是调用DataSet的Copy方法复制DataSet中的内容,完成填充的功能:
private void Form1_Load(object sender, EventArgs e)
{
//实例化SqlConnection变量conn,连接数据库
conn = new SqlConnection("server=.;database=db_14;uid=sa;pwd=");
//创建一个SqlCommand对象
SqlCommand cmd = new SqlCommand("select * from tb_test", conn);
SqlDataAdapter sda = new SqlDataAdapter();//创建一个SqlDataAdapter对象
//设置SqlDataAdapter对象的SelectCommand属性,设置执行的SQL语句
sda.SelectCommand = cmd;
ds = new DataSet(); //实例化DataSet
sda.Fill(ds, "test");//使用SqlDataAdapter对象的Fill方法填充DataSet
dataGridView1.DataSource = ds.Tables[0];//设置dataGridView1的数据源
}
private void button1_Click(object sender, EventArgs e)
{
DataSet ds1 = ds.Copy();//调用DataSet的Copy方法复制ds中的内容
dataGridView2.DataSource = ds1.Tables[0];//将ds1作为dataGridView2的数据源
}
- 2022-11-04 09:50:03下载
- 积分:1
-
C# 使用定时器动画摆动显示图形
C# 使用定时器动画摆动显示图形,利用定时器可改变物体运动的振幅、角频率、初相,初始化图形数据,生成如演示效果所示的,圆形小球来回摆动的动画效果。你可以通过窗口中的两个按钮,来查看效果:启动有窗体定时器、关闭有窗体定时器。初始化图形数据的代码如下:
this.timer1.Interval = 30;
r1.X = System.Convert.ToInt16(this.panel1.Width / 2 - 30);
r1.Y = System.Convert.ToInt16(this.panel1.Height / 2 - 30);
r1.Width = 60;
r1.Height = 60;
r2 = r1;
x = System.Convert.ToInt16(this.panel1.Width / 2);
- 2022-03-03 11:34:28下载
- 积分:1
-
小球弹跳运动 小球位移动画效果实例_C#
基于C#实现的小球弹跳运动 小球位移动画效果实例,WPF类型的C#源代码例子,欢迎初学者学习参考。
- 2022-10-29 08:25:03下载
- 积分:1
-
C# 根据文件名提取文件类型图标
C# 根据文件名提取文件类型图标,设定好文件目录后,本例中是读取C:Windows下的所有文件,并根据文件类型自动显示图标,如测试图所示,将文件类型的图标添加到listView中,下面是具体的实现代码:
this.imageList1.Images.Clear();
this.listView1.Items.Clear();
string MyFolder = @"C:Windows";
DirectoryInfo MyDir = new DirectoryInfo(MyFolder);
ListViewItem MyItem;
this.listView1.BeginUpdate();
foreach (FileInfo MyFile in MyDir.GetFiles())
{
Icon MyIcon = SystemIcons.WinLogo;
MyItem = new ListViewItem(MyFile.Name, 1);
MyIcon = Icon.ExtractAssociatedIcon(MyFile.FullName);
if (!this.imageList1.Images.ContainsKey(MyFile.Extension))
{
MyIcon =Icon.ExtractAssociatedIcon(MyFile.FullName);
this.imageList1.Images.Add(MyFile.Extension, MyIcon);
}
MyItem.ImageKey = MyFile.Extension;
this.listView1.Items.Add(MyItem);
}
- 2023-07-30 19:25:04下载
- 积分:1