C#如何让同一个窗口只能打开一次
C#如何让同一个窗口只能打开一次在主窗口打开新窗口的时候用比如:菜单:基本档案---基本单位\基本数量\基本类别"基本单位"就只能代开一次,第二次打开的时候就直接把已经打...
C#如何让同一个窗口只能打开一次
在主窗口打开新窗口的时候用
比如:
菜单:基本档案---基本单位\基本数量\基本类别
"基本单位"就只能代开一次,第二次打开的时候就直接把已经打开的 基本单位放到最前端 展开
在主窗口打开新窗口的时候用
比如:
菜单:基本档案---基本单位\基本数量\基本类别
"基本单位"就只能代开一次,第二次打开的时候就直接把已经打开的 基本单位放到最前端 展开
6个回答
展开全部
很简单 单例模式
那就用个BOOL值吧 设一个不是私有的bool变量,初始设为true,打开的时候改为false,关闭的时候设为true就可以了。如果为false,那就把焦点给它就可以了
看看这个
public partial class Form2 : Form
{
private Form2()
{
InitializeComponent();
}
private static Form2 f2 = new Form2();
public static Form2 getf2()
{
if (f2.IsDisposed)
{
f2 = new Form2();
return f2;
}
else
{
return f2;
}
}
}
还不给分 更待何时
private void button1_Click(object sender, EventArgs e)
{
Form2.getf2().Show();
Form2.getf2().Activate();
}
那就用个BOOL值吧 设一个不是私有的bool变量,初始设为true,打开的时候改为false,关闭的时候设为true就可以了。如果为false,那就把焦点给它就可以了
看看这个
public partial class Form2 : Form
{
private Form2()
{
InitializeComponent();
}
private static Form2 f2 = new Form2();
public static Form2 getf2()
{
if (f2.IsDisposed)
{
f2 = new Form2();
return f2;
}
else
{
return f2;
}
}
}
还不给分 更待何时
private void button1_Click(object sender, EventArgs e)
{
Form2.getf2().Show();
Form2.getf2().Activate();
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你设一个状态属性就行了啊
比如初始化的时候是true 在你打开一次之后设为false ,每次在打开之前你先判断这个属性就行了啊
比如初始化的时候是true 在你打开一次之后设为false ,每次在打开之前你先判断这个属性就行了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义一个bool值
可以在
form.show()前面加上判断
可以在
form.show()前面加上判断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试这个:
private Form cp = null;
private void button3_Click(object sender, System.EventArgs e)
{
if (cp == null || ! cp.Created)
cp = new changePwd();
cp.Show();
}
private Form cp = null;
private void button3_Click(object sender, System.EventArgs e)
{
if (cp == null || ! cp.Created)
cp = new changePwd();
cp.Show();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void
openform()
{
subform
form
=
null;
//假设子窗口是
subform
类型
foreach
(form
f
in
application.openforms)
{
if
(f.gettype()
==
typeof(subform))
{
(form
=
f).show();
f.activate();
break;
}
//激活前面的窗口
}
if
(form
==
null)
{
//没找到则打开新的
new
subform().show();
}}
openform()
{
subform
form
=
null;
//假设子窗口是
subform
类型
foreach
(form
f
in
application.openforms)
{
if
(f.gettype()
==
typeof(subform))
{
(form
=
f).show();
f.activate();
break;
}
//激活前面的窗口
}
if
(form
==
null)
{
//没找到则打开新的
new
subform().show();
}}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询