[點(diǎn)晴永久免費(fèi)OA][C#]使用this.Hide();/this.Visible=false;時(shí)窗口不是隱藏而是程序徹底退出,原因是什么?
:[C#]使用this.Hide();/this.Visible=false;時(shí)窗口不是隱藏而是程序徹底退出,原因是什么?
原因是窗口不是正常標(biāo)準(zhǔn)方式打開:
AboutBox form = new AboutBox();
form.Show(); 而是采用如下方式打開:
AboutBox form = new AboutBox();
form.ShowDialog(); ShowDialog方式打開的窗口如果使用了this.Hide(); 或 this.Visible=false; ,就會導(dǎo)致程序異常退出。
程序打開時(shí)判斷是否重復(fù)打開代碼:
bool createNew;
// 在此方法返回時(shí),如果創(chuàng)建了局部互斥體(即,如果 name 為 null 或空字符串)或指定的命名系統(tǒng)互斥體,則包含布爾值 true
// 如果指定的命名系統(tǒng)互斥體已存在,則為false
using (Mutex mutex = new Mutex(true, Application.ProductName, out createNew))
{
if (createNew)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmMain());
mutex.ReleaseMutex();
}
// 程序已經(jīng)運(yùn)行的情況,則彈出消息提示并終止此次運(yùn)行
else
{
MessageBox.Show("本程序已打開,禁止重復(fù)打開本程序!", "重復(fù)打開", MessageBoxButtons.OK, MessageBoxIcon.Warning);
Thread.Sleep(1000);
System.Environment.Exit(1);
}
} 該文章在 2022/7/24 16:51:48 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |