-
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
-
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
-
C# 演示如何使用DataGridView更新数据
C#更新修改DataGridView数据,请直接在DataGridView表格中修改数据,C# 更新DataGridView数据的实现代码如下:
private void button1_Click(object sender, EventArgs e)
{//更新数据
var MyCount = this.sqlDataAdapter1.Update(this.dataSet1, "Customers");
var MyInfo = "成功更新" + MyCount.ToString() + "条记录!";
MessageBox.Show(MyInfo, "信息提示", MessageBoxButtons.OK);
}
private void Form1_Load(object sender, EventArgs e)
{//读取Customers数据表记录
var MySQL = "Select * From Customers ";
this.sqlConnection1.ConnectionString = "Data Source=.SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True";
this.sqlCommand1 = new System.Data.SqlClient.SqlCommand("Select * From Employees", this.sqlConnection1);
this.sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter(this.sqlCommand1);
this.sqlCommandBuilder1 = new System.Data.SqlClient.SqlCommandBuilder(this.sqlDataAdapter1);
this.sqlDataAdapter1.Fill(this.dataSet1, "Customers");
this.dataGridView1.DataSource = this.dataSet1.Tables[0];
- 2022-03-24 05:10:10下载
- 积分:1
-
C#检查CheckBox控件是否被选中
C#检查CheckBox复选框控件是否被选中,或者说是判断用户是否单击了checkbox按钮,可用于用户输入界面中,本示例提供了完整的复选框判断机制,有需要的可参考以下代码:
private void checkBox1_Click(object sender, EventArgs e)
{
if (checkBox1.CheckState == CheckState.Checked)
{
MessageBox.Show("CheckBox控件被选中");
}
else
{
MessageBox.Show("CheckBox控件选择被取消");
}
}
- 2022-09-15 05:45:03下载
- 积分:1
-
C# 演示Tile、FlipX、FlipY、FlipXY 四种模式如何实现
C# 演示Tile、FlipX、FlipY、FlipXY 四种模式如何实现,基于WPF的一个C#源代码,可借此源码了解下DrawingBrush()、FlipY、TileMode.FlipXY、TileMode.Tile等众多模式在C#中的代码是如何编写的,源代码在VS2015中可以编译,完整代码请单击下载链接。
- 2022-05-20 04:07:08下载
- 积分:1
-
C# 创建有参、无参数等多线程操作实例
C# 多线程操作实例,获取指定进程的进程详细信息、获取指定进程的模块详细信息、创建无参数的多线程应用程序、创建带参数的多线程应用程序、创建共享线程模拟资源共享、创建子线程更新主线程数据等,部分代码分享如下:
if (MyThread.ThreadState == ThreadState.Terminated)
MyData += "
当前状态:已完成执行并已退出";
if (MyThread.ThreadState == ThreadState.Transition)
MyData += "
当前状态:在可以执行前等待处理器之外的资源";
if (MyThread.ThreadState == ThreadState.Unknown)
MyData += "
当前状态:状态未知";
if (MyThread.ThreadState == ThreadState.Wait)
MyData += "
当前状态:正在等待外围操作完成或等待资源释放";
if (MyThread.WaitReason == ThreadWaitReason.EventPairHigh)
MyData += "
等待原因:线程正在等待事件对高";
if (MyThread.WaitReason == ThreadWaitReason.EventPairLow)
MyData += "
等待原因:线程正在等待事件对低";
if (MyThread.WaitReason == ThreadWaitReason.ExecutionDelay)
MyData += "
等待原因:线程执行延迟";
if (MyThread.WaitReason == ThreadWaitReason.Executive)
MyData += "
等待原因:线程正在等待计划程序";
if (MyThread.WaitReason == ThreadWaitReason.FreePage)
MyData += "
等待原因:线程正在等待可用的虚拟内存页";
if (MyThread.WaitReason == ThreadWaitReason.LpcReceive)
- 2022-04-18 07:37:09下载
- 积分:1
-
c# 关闭窗口前确认 弹出提示
与大家分享一个C#窗口编程小技巧,在用户关闭窗口前,弹出确认对话框,可有效防止用户误操作,误关闭窗口。本源码中是完整的实例下载 ,有基础的可参考以下的代码,快速实现本功能:
C#弹出关闭窗口的确认对话框,核心代码如下:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult dr = MessageBox.Show("是否关闭窗体", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (dr == DialogResult.Yes) //使用if语句判断是否单击“是”按钮
{
e.Cancel = false;//如果单击“是”按钮则关闭窗体
}
else//否则
{
e.Cancel = true;//不执行操作
}
}
当用户单击窗口右上角关闭按钮时,激活函数中的命令,弹出确认框。
- 2022-01-25 15:52:19下载
- 积分:1
-
C# 使用聚合函数查找数据库重复记录
C#利用聚合函数显示数据库中重复记录的数量,这个例子可找出数据库中的重复内容,对优化数据库很有帮助。实现本功能可参考以下代码:
dgv_Message.DataSource = GetMessage();//设置数据源
dgv_Message.Columns[0].Width = this.Width;//设置列宽度
dgv_Message.DataSource = GetStudent();//设置数据源
dgv_Message.Columns[0].Width = 200;//设置列宽度
string P_Str_SqlStr = string.Format(//创建SQL查询字符串
@"SELECT 所在学院 ,COUNT(所在学院) AS 学生数量 FROM tb_Student GROUP BY 所在学院");
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-06-30 05:46:27下载
- 积分:1
-
一个简单的C# 多线程实例
一个简单的C# 多线程实例,创建多线程的简单实例,创建线程一和线程二,两者单独完成指定侨任务,创建多线程主要是使用C#中内置的方法new Thread()来实现,然后让每个线程执行一个for循环,来测试线程运行的效果。创建线程和运行线程的代码,可参考如下代码:
Thread thread1 = new Thread(new ThreadStart( Count));
thread1.Name="线程一";
Thread thread2 = new Thread(new ThreadStart( Count));
thread2.Name="线程二";
thread1.Start();
thread2.Start();
- 2022-08-18 15:51:20下载
- 积分:1
-
C#演示如何正确关闭程序
C#演示如何正确关闭程序,这是一个Wpf窗体实例,演示WPF窗口如何才是正确的关闭方法。
其实下边这句话最重要:
正确关闭程序的方法:App.Current.Shutdown();
具体的代码写法如下:
//文件名称:Window1.xaml.cs
private void button1_Click(object sender, RoutedEventArgs e)
{//正确关闭程序
App.Current.Shutdown();
}
- 2023-04-28 12:25:02下载
- 积分:1