c#中,父窗体上有button,单击button弹出子窗体,然后单击这个button又弹出一个同样的
4个回答
展开全部
form1:
public static Form fm = null;
private void button1_Click(object sender, EventArgs e)
{
if (fm == null)
{
Form2 fm2 = new Form2();
fm2.Show();
}
else
{
fm.TopLevel = true;
}
}
form2:
private void Form2_Load(object sender, EventArgs e)
{
Form1.fm = this;
}
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
Form1.fm = null;
}
这样form1下的按钮不管怎么点form2只有一个现实,会自动提到最前面!
public static Form fm = null;
private void button1_Click(object sender, EventArgs e)
{
if (fm == null)
{
Form2 fm2 = new Form2();
fm2.Show();
}
else
{
fm.TopLevel = true;
}
}
form2:
private void Form2_Load(object sender, EventArgs e)
{
Form1.fm = this;
}
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
Form1.fm = null;
}
这样form1下的按钮不管怎么点form2只有一个现实,会自动提到最前面!
更多追问追答
追问
我之前在在frm.show();前面写了这个。frm.MdiParent=this;//子窗体在父窗体内。然后加上你的代码就报错。去掉frm.MdiParent=this就可以运行。这个怎么弄
追答
这个没用过,呵呵,我一般控制窗口就直接用 Form fm = 就可以了!
展开全部
我之前在在frm.show();前面写了这个。frm.MdiParent=this;//子窗体在父窗体内。然后加上你的代码就报错。去掉frm.MdiParent=this就可以运行。这个怎么弄
首先...
Frm 你知道是那个窗口吧..
在frm的构造函数里头写上
this.IsMdiChild = true;
就OK了...
你的做法是正确的.
首先...
Frm 你知道是那个窗口吧..
在frm的构造函数里头写上
this.IsMdiChild = true;
就OK了...
你的做法是正确的.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
貌似有很多种办法来实现吧!!!
定义一个公共变量,第一次打开一个子窗体,赋值为true,当关闭子窗体的时候,赋值为false
每次单击按钮,判断一下变量是否为true,如果为true就跳过;否则打开子窗体!!
定义一个公共变量,第一次打开一个子窗体,赋值为true,当关闭子窗体的时候,赋值为false
每次单击按钮,判断一下变量是否为true,如果为true就跳过;否则打开子窗体!!
追问
新手,求代码,谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那就使用单例模式, 有且只能弹出这个。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询