-
C# LockThread()锁定线程以实现线程同步
C# 使用LockThread()方法实现线程监视监控的例子,锁定线程以实现线程同步,实现方法比较简单,可参考以下的代码,完整的代码可在本网页下载:
static void Main(string[] args)
{
Program myProgram = new Program();//实例化类对象
myProgram.LockThread(); //调用锁定线程方法
Console.ReadLine();
}
void LockThread()
{
Monitor.Enter(this);//锁定当前线程
Console.WriteLine("锁定线程以实现线程同步");
Monitor.Exit(this); //释放当前线程
}
- 2022-02-20 05:30:05下载
- 积分:1
-
Visual C# LINQ转换为一对多字典
Visual C# 转换为一对多字典,构造泛型列表,使用LINQ查找用户代码小于3的列表,此时的query变量的类型是IEnumerable类型,使用ToLookup方法将query转换为一对多字典类型:
ILookup userLookup = query.ToLookup(itm => itm.UserCode);
label1.Text = "ILookup的结果是:
";
foreach (var user in userLookup)//遍历查询结果
{
label1.Text += user.Key;//显示主键
label1.Text += " ";
foreach (var user2 in user)//遍历所有值
{
label1.Text += user2.UserName + " , ";//显示键值
}
label1.Text += "
";
}
- 2023-05-18 03:20:03下载
- 积分:1
-
C# 执行存储过程的相关例子
C# 执行存储过程的相关例子,一共演示了执行4种存储过程的方法:
执行NewSelectCommand存储过程
执行NewInsertCommand存储过程
执行NewUpdateCommand存储过程
执行NewDeleteCommand存储过程
源码包中自带有SQLSERVER MDF数据库文件,测试前请附加。
- 2022-01-25 20:11:54下载
- 积分:1
-
C# 使用互斥量禁止程序运行两个实例
C# 使用互斥量禁止程序运行两个实例,这个主要是根据开发的程序使用环境决定,有时候一个程序运行多个副本,会浪费系统资源造成不稳定,但有人说这样会让软件使用更方便,以下代码是不让程序运行多个实例副本,关键代码如下所示:
private void Form1_Load(object sender, EventArgs e)
{//使用互斥量禁止程序运行两个实例
bool bExist;
var MyMutex =new System.Threading.Mutex(true, "OnlyOneTime", out bExist);
if (bExist)
MyMutex.ReleaseMutex();
else
{
MessageBox.Show("程序已经运行!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.Close();
}
}
- 2022-03-24 02:20:34下载
- 积分:1
-
Visual C#播放媒体文件
Visual C#播放媒体文件,支持播放的文件格式:mpg;*.avi;*.wma;*.wmv;*.mov;*.wav;*.mp2; *.mp3,支持的播放控制功能有:播放、暂停、停止、静音等。
运行后的程序界面如图所示。
- 2023-07-22 03:40:03下载
- 积分:1
-
C#邮件收发程序 发Email和接收邮件
C#实现的一个邮件收发程序,功能主要是两大块,发送邮件和接收邮件,类似于一个邮件客户端的功能,在这个邮件发送程序中,写了几个函数分别实现相关的模块功能:
对获得连接的用户身份进行验证
获取登录邮箱的各种信息
判断返回的字符串信息,如果是“+OK”,证明登录成功,否则登录失败
根据输入的邮件编号读取邮件信息
获取由参数标识的邮件的全部文本
对读取的邮件内容进行Base64编码
“登录”按钮事件,实例化SmtpClient邮件发送类对象
初始化StreamReader对象,以便以流的形式读取远程主机中的内容
获取远程主机中指定用户的邮件信息
获得远程主机上指定邮件的相关信息,存储到一个string类型的数组中,数组中的内容包括:邮件日期、发信人、收信人、邮件主题、邮件内容等。
- 2022-04-23 02:56:49下载
- 积分:1
-
C# 获取雇员信息并调整窗口大小
C# 获取雇员信息并调整窗口大小,这个需要连接数据库,测试前请确保数据库已连接。
当运行本窗口后,拖动窗口,可看到窗体中的元素控件随窗体大小不断变化,窗口变大时,挖掘控件也会变大,实现自动跟随窗口的大小变化。
- 2022-07-02 17:00:48下载
- 积分: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
-
C# 复制当前屏幕上指定区域图像
C#复制当前屏幕上指定区域图像。运行效果如演示截图所示。最核心的两行代码如下所示:
private void button1_Click(object sender, EventArgs e)
{//复制当前屏幕上指定区域图像
Graphics g = this.pictureBox1.CreateGraphics();
g.CopyFromScreen(new Point(1, 1), new Point(0, 0),new Size(1201, 1201));
}
- 2022-02-03 00:21:26下载
- 积分:1
-
C# 使用多层嵌套异常捕获程序错误
C# 使用多层嵌套异常捕获程序错误,以一个数据连接读取程序为例,为应用程序设置功能键,在将键事件传递到具有焦点的控件前,窗体接收此键事件,然后使用多层嵌套异常捕获程序错误,使用SystemException、Exception、OleDbException三种方式进行异常信息的显示。
- 2022-09-13 19:35:03下载
- 积分:1