winform窗体问题 winform中如何控制一个窗体在同一时间只能运行一个?强调:不是调用子窗体 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用互斥体Mutex类,MSDN上查一下Mutex的用法就行了 互斥锁(Mutex)互斥锁是一个互斥的同步对象,意味着同一时间有且仅有一个线程可以获取它。互斥锁可适用于一个共享资源每次只能被一个线程访问的情况 函数://创建一个处于未获取状态的互斥锁Public Mutex();//如果owned为true,互斥锁的初始状态就是被主线程所获取,否则处于未获取状态 Public Mutex(bool owned); 如果要获取一个互斥锁。应调用互斥锁上的WaitOne()方法,该方法继承于Thread.WaitHandle类它处于等到状态直至所调用互斥锁可以被获取,因此该方法将组织住主调线程直到指定的互斥锁可用,如果不需要拥有互斥锁,用ReleaseMutex方法释放,从而使互斥锁可以被另外一个线程所获取。 在你的程序的Program.cs文件中,参考如下代码修改一下: bool bCreateNew; Mutex oMutex = new Mutex(true, "你的程序名 ", out bCreateNew); if (bCreateNew) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new YourForm()); } else { MessageBox.Show( "本程序已经运行并只允许运行一次! ", "你的程序名 ", MessageBoxButtons.OK, MessageBoxIcon.Information); } 谁做过c#操作oracle数据库的类或者动态库神马的 提示 运行库遇到了错误 基本控件的区别 问个小问题,给你个高分。有关调试 Tab键移动焦点问题 如何在水晶报表中使用[非数据库]数据源 初学编程C#,新人咨询几个问题 问一个问题,谢谢! C# 新手向 错误 CS0103: 当前上下文中不存在名称“ticks” 请问如何判断驱动器的类型 跪求 C/S结构中,如何同时接收多个客户机发来的文件 winform中combobox和datagridview的问题
Mutex oMutex = new Mutex(true, "你的程序名 ", out bCreateNew);
if (bCreateNew)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new YourForm());
}
else
{
MessageBox.Show( "本程序已经运行并只允许运行一次! ", "你的程序名 ", MessageBoxButtons.OK, MessageBoxIcon.Information);
}