-
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# 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
-
C# 查询订购产品ID为51的客户信息
C# 查询订购产品ID为51的客户信息,需要连接数据库来测试,相关代码分享如下:
//查询订购产品ID为51的客户信息
SqlConnection MyConnection = new SqlConnection(@"Data Source =luobin-PCSQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True");
MyConnection.Open();
DataSet MyDataSet = new DataSet("CustomerOrdersDetails");
SqlDataAdapter MyCustomerAdapter = new SqlDataAdapter("SELECT * FROM Customers", MyConnection);
MyCustomerAdapter.Fill(MyDataSet, "Customers");
DataTable MyTable = new DataTable();
MyCustomerAdapter.Fill(MyTable);
SqlDataAdapter MyOrderAdapter = new SqlDataAdapter("SELECT * FROM Orders", MyConnection);
MyOrderAdapter.Fill(MyDataSet, "Orders");
SqlDataAdapter MyDetailAdapter = new SqlDataAdapter("SELECT * FROM [Order Details]", MyConnection);
MyDetailAdapter.Fill(MyDataSet, "OrderDetails");
MyConnection.Close();
MyDataSet.Relations.Add("CustOrders",MyDataSet.Tables["Customers"].Columns["CustomerID"],MyDataSet.Tables["Orders"].Columns["CustomerID"]).Nested = true;
MyDataSet.Relations.Add(
- 2023-04-28 12:35:03下载
- 积分:1
-
C# SelectionStart SelectionEnd时间段选择日历范例
C# Calendar 时间段选择日历范例,可选择时间区间,调用 了C#中的SelectionStart SelectionEnd日期函数实现的功能,这个程序演示了两种功能:
1、获取控件当前的日期和时间
textBox1.Text = monthCalendar1.TodayDate.ToString();
2、时间起始段的选择:
通过SelectionStart属性获取用户选择的起始日期
textBox2.Text = monthCalendar1.SelectionStart.ToString();
通过SelectionEnd属性获取用户选择的结束日期
textBox3.Text = monthCalendar1.SelectionEnd.ToString();
- 2022-08-15 10:37:28下载
- 积分:1
-
传世源码
传世源码传世源码传世源码传世源码传世源码传世源码传世源码
- 2022-03-03 05:08:19下载
- 积分:1
-
FX5U 以太网测试源代码
此代码是PC机以太网方式连接Fx5u通讯使用,将Mxcompent配置好后,可使用此代码联机,可以实现对PLC 的控制和信息获取,实测可以使用,每项功能都已经实测过了。请放心下载。
- 2022-05-29 06:48:52下载
- 积分:1
-
C# 从Uri指定的位置获取Cookie
C# 从Uri指定的位置获取Cookie,获取当前WPF程序的Cookie数据,Cookie设置成功,请转到第二页面测试!
- 2023-04-11 17:30:04下载
- 积分:1
-
C# 序列中所有元素是否都满足指定条件
C# 序列中所有元素是否都满足指定条件,使用List序列对象创建List人员列表,判断是否所有人员的年龄都大于30岁,dgpwC#中序列的用法:
bool result = People.All(p => p.Old > 30);显示查询结果:
label1.Text = "数据源:{1,"王*军",28},{2,"赵*东",31},{3,"王*科",33}";//数据源
label2.Text = "查询表达式:All(p => p.Old > 30)";//查询表达式/操作
label3.Text = "查询结果:" + result.ToString();//查询结果
更详细代码请下载源码。
- 2023-08-15 15:50:03下载
- 积分:1
-
C# 显示DataGridView控件中选定的单元格、行和列
Visual C#显示选择的DataGridView单元格,获取DataGridView控件中选定的单元格、行和列,测试前请连接好数据库,实现此功能核心代码如下:
if (customersDataGridView.AreAllCellsSelected(true))
{
MessageBox.Show("所有单元格已经被选择!", "信息提示",MessageBoxButtons.OK);
}
else
{
System.Text.StringBuilder MyInfo =new System.Text.StringBuilder();
for (int i = 0;
i < MyCount; i++)
{
MyInfo.Append("行号: ");
MyInfo.Append(customersDataGridView.SelectedCells[i].RowIndex.ToString());
MyInfo.Append(", 列号: ");
MyInfo.Append(customersDataGridView.SelectedCells[i].ColumnIndex.ToString());
MyInfo.Append(", 单元格值: ");
MyInfo.Append(customersDataGridView.SelectedCells[i].Value.ToString());
MyInfo.Append(Environment.NewLine);
}
MyInfo.Append("一共选择了: " + MyCount.ToString()+"个单元格");
MessageBox.Show(MyInfo.ToString(), "信息提示", MessageBoxButtons.OK);
}
- 2022-03-18 13:11:05下载
- 积分:1
-
C# 字符串综合处理程序
C# 字符串综合处理程序,功能主要有:
获取含有中文的字符串实际长度、在字符串指定位置插入子字符串、
从分隔符字符串中析取子字符串、合并字符串数组中的字符串元素、在字符串中删除指定的子字符串、在字符串中替换指定的子字符串、在字符串中附加格式化的字符串、将字符串转换为标准的日期格式、获取指定字符在字符串中的位置、不区分字母大小写比较字符串、转换字符串中的大小写字母、去除字符串中的空白字符、将指定值转换为字符串表示形式、将带分节号的字符串转换成数字等。。。
- 2022-01-22 08:06:13下载
- 积分:1