C#如何让同一个窗口只能打开一次

C#如何让同一个窗口只能打开一次在主窗口打开新窗口的时候用比如:菜单:基本档案---基本单位\基本数量\基本类别"基本单位"就只能代开一次,第二次打开的时候就直接把已经打... C#如何让同一个窗口只能打开一次
在主窗口打开新窗口的时候用
比如:
菜单:基本档案---基本单位\基本数量\基本类别
"基本单位"就只能代开一次,第二次打开的时候就直接把已经打开的 基本单位放到最前端
展开
 我来答
沧海V飞天
推荐于2016-11-11 · TA获得超过450个赞
知道小有建树答主
回答量:394
采纳率:0%
帮助的人:272万
展开全部
很简单 单例模式
那就用个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();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fengguowubo
2008-12-04 · TA获得超过107个赞
知道答主
回答量:74
采纳率:0%
帮助的人:89.9万
展开全部
你设一个状态属性就行了啊
比如初始化的时候是true 在你打开一次之后设为false ,每次在打开之前你先判断这个属性就行了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
犹慕金清妍
2019-04-11 · TA获得超过3547个赞
知道大有可为答主
回答量:3033
采纳率:31%
帮助的人:463万
展开全部
定义一个bool值
可以在
form.show()前面加上判断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
szw555
2008-12-04
知道答主
回答量:15
采纳率:0%
帮助的人:0
展开全部
试试这个:
private Form cp = null;
private void button3_Click(object sender, System.EventArgs e)
{
if (cp == null || ! cp.Created)
cp = new changePwd();
cp.Show();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
杭曼文星嫔
2019-03-01 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.2万
采纳率:28%
帮助的人:888万
展开全部
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();
}}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式