C#只打开一个窗口(程序)
2012-11-11 21:18
141 查看
控制窗口打开一次 private void mybutton_add_Click(object sender, EventArgs e)
{
FormCollection form_is_running = Application.OpenForms;
if (form_is_running["Form_add"] != null)
{
(form_is_running["Form_add"] as Form).Focus();
}
else
{
Form_add form_add = new Form_add();
form_add.Show();
}
}
控制程序只运行一次
Class Form1:Form
{
public Mutex mymutex;
//-------------------------------在构造函数中加入
public Form1()
{
mymutex = new Mutex(false, "SINGLE_INSTANCE_MUTEX");
if (!mymutex.WaitOne(0, false))
{
mymutex.Close();
mymutex = null;
}
}
}
//_-------------------------------Dispose方法中加入一行
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
mymutex.ReleaseMutex(); //---------此行
}
base.Dispose(disposing);
}
//----------------------------------Main方法中,如果是不同类,请建立实例。
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
///
///
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 form1 = new Form1();
if (form1.mymutex != null)
Application.Run(form1);
}
}
{
FormCollection form_is_running = Application.OpenForms;
if (form_is_running["Form_add"] != null)
{
(form_is_running["Form_add"] as Form).Focus();
}
else
{
Form_add form_add = new Form_add();
form_add.Show();
}
}
控制程序只运行一次
Class Form1:Form
{
public Mutex mymutex;
//-------------------------------在构造函数中加入
public Form1()
{
mymutex = new Mutex(false, "SINGLE_INSTANCE_MUTEX");
if (!mymutex.WaitOne(0, false))
{
mymutex.Close();
mymutex = null;
}
}
}
//_-------------------------------Dispose方法中加入一行
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
mymutex.ReleaseMutex(); //---------此行
}
base.Dispose(disposing);
}
//----------------------------------Main方法中,如果是不同类,请建立实例。
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
///
///
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 form1 = new Form1();
if (form1.mymutex != null)
Application.Run(form1);
}
}
相关文章推荐
- 打开程序会弹出一个用户账户控制询问窗口的原理
- 【原创】在winform程序中实现在IE浏览器中打开一个新的页面,全屏化并屏蔽IE窗口的工具栏和地址栏
- VC程序只运行一个实例,并在打开多个时激活原窗口
- 作业: 1.创建一个窗口程序(JFrame),标题栏起名为“浏览器”,有一个菜单条,有“文件”、“编辑”、“查看”3个菜单。“文件”菜单有两个菜单项,一项是“打开”,一项是“保存”,“打开”项做成子菜
- C#中出现了一个问题,就是程序主窗体已经打开,在调用子窗体时候出现了创建窗口句柄时出错。
- 窗口作业1 作业: 1.创建一个窗口程序(JFrame),标题栏起名为“浏览器”,有一个菜单条,有“文件”、“编辑”、“查看”3个菜单。“文件”菜单有两个菜单项,一项是“打开”,一项是“保存
- lesson7:GUI:创建一个窗口程序(JFrame),标题栏起名为“浏览器”,有一个菜单条,有“文件”、“编辑”、“查看”3个菜单。“文件”菜单有两个菜单项,一项是“打开”
- 如何在Win32窗口程序中发命令打开一个控制台,往里面打印(printf())输出一些数据
- VC程序只运行一个实例,并在打开多个时激活原窗口
- C#如何让同一个窗口只能打开一次和一个程序只能同时打开一个
- .创建一个窗口程序(JFrame),标题栏起名为“浏览器”,有一个菜单条,有“文件”、“编辑”、“查看”3个菜单。“文件”菜单有两个菜单项,一项是“打开”,一项是“保存”,“打开”项做成子菜单,有两个
- 如何打开 两个Editplus(窗口 进程),不想在一个窗口多标签打开程序,这样子很难对比程序
- .创建一个窗口程序(JFrame),标题栏起名为“浏览器”,有一个菜单条,有“文件”、“编辑”、“查看”3个菜单。“文件”菜单有两个菜单项,一项是“打开”,一项是“保存”,“打开”项做成子菜单,有两个
- 建立控制台程序--获得已经打开的一个窗口的句柄--给这个窗口发送一个关闭命令
- C#如何让同一个窗口只能打开一次和一个程序只能同时打开一个
- 创建一个窗口程序(JFrame),标题栏起名为“浏览器”,有一个菜单条,有“文件”、“编辑”、“查看”3个菜单。“文件”菜单有两个菜单项,一项是“打开”,一项是“保存”,“打开”项做成子菜单,有两个菜
- Android打开一个文件出现一个打开方式窗口。
- C语言 system()函数打开一个程序,路径有空格的问题
- ”双击文件夹无法在同一个窗口打开,更改文件夹选项也不行“的解决方法
- IE7通过window.open打开一个隐藏的子窗口