winform中如何避免点击同一个按钮打开多次相同的窗体? 10

我已经解决了点击同一个按钮打开多次相同的窗体问题,现在的问题是当该窗体关闭后,就不能再打开了,代码是这样写的privatevoidtoolStripButton1_Cli... 我已经解决了点击同一个按钮打开多次相同的窗体问题,现在的问题是当该窗体关闭后,就不能再打开了,代码是这样写的private void toolStripButton1_Click(object sender, EventArgs e)
{
if (p == null)
{
p = new PrenatalVisit();
p.MdiParent = this;
p.TopMost = true;
p.Show();
}
else
{
MessageBox.Show("此窗体已打开");
}
}
请各位高手帮助帮助
展开
 我来答
yk北极星
2011-11-10
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
没有释放掉上次的资源,关闭后手动的,close或disponed
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心语NET
2011-11-10
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
在窗体关闭时 p = null;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友27e0ce116
2011-11-10
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
关键是你的变量P 是怎么定义的!? 你可以考虑一下 窗体关闭时把变量P 清空一下! 如果还是不行 你追问一下 我给你个完整的
追问
p是直接在窗体后台里面直接定义的,比如窗体名字是Form1吧,private static Form1 p=new Form1();
追答
我知道了 
private void toolStripButton1_Click(object sender, EventArgs e)
{
if (p == null)
{
p = new PrenatalVisit();
p.MdiParent = this;
p.TopMost = true;
p.Show();
//关键
p=null;
}
else
{
MessageBox.Show("此窗体已打开");
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gongchengjia
2011-11-10
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
p.ShowDialog();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式