我想通过form1的Button去打开form2,,点击Butoon后,出现Form2窗口。不关闭form2,而再次点击Button,将不能出现第二个form2实例,也就是第二个form2窗口。而关闭form2后,才能再次出现Form2窗口,,我不知道如何判断。代码怎么写了?望不吝赐教!!public Form1
{
Button1.click()
{
Form2 df = new Form2()??? how to coding????????????
}
}
{
Button1.click()
{
Form2 df = new Form2()??? how to coding????????????
}
}
解决方案 »
- 读取串口硬件参数 客户机报错 本单位电脑无误
- 自学----C#中的名词术语含义
- C# 实现两个文件夹同步的问题
- 我用画线函数画出曲线不连贯,有什么解决办法,和画图板里的笔刷效果相当就可以
- 如何在程序中连接一个聊天室
- 大家新年好,我不知道怎么样才能在2003下开发的windows软件在xp里使用?
- 请问以下问题是否可以用正则表达式解决?怎么用?谢谢!
- 请高手看看怎么办?
- 关于ReadLine()的问题,来者有分!
- C#获取摄像头参数
- 关于窗体最大化
- 今天给客户安装C# winform系统,运行报错,大家帮忙看看,application has generated an exception that could not be handled
{
Form2 df = new Form2();
Button1.click()
{
if(df.Visible == false)
df.Show();
}
}经测试通过。
OK了
判断他的实例是否已show出来了
如果没有,就给他show出来
如果有了,就什么也不做。满意就给分吧!
怎么判断嘛??怎么判断他的实例是否已show出来了 ??代码怎么写?????
关闭form2后,不存在Show不Show了。肯定是不能Show的。怎么判断form2是关了没有,存不存再!!
我都测试过了。你把Form实例在Button1 的事件之外。
他的实例在窗体一构造的时候就构造好了。只是他的Visible属性而已。
如果这个属性为True他就已经Show出来。
为False就表示没有?
不懂?你试试就知道了。
你试试这个,应该可以的,我测试过了 private Form2 frm2;
private void button1_Click(object sender, EventArgs e)
{
if (frm2 == null || frm2.IsDisposed)
{
frm2 = new Form2();
frm2.Show();
}
else
{
frm2.Activate();
frm2.WindowState = FormWindowState.Normal;
} }
int isOut = 0;
重载Form2的构造函数接受这个变量。
构造Form2的时候把这个值传过去public Form1
{
int isOut = 0;
Button1.click()
{
Form2 df = new Form2(i);
if(isOut ==0)
{
isOut=1;
df.show();
}
}
}关闭Form2的时候把isOut 改成0;
再不行我就再来。
private Form2 frm2;
private void button1_Click(object sender, EventArgs e)
{
if (frm2 == null ¦ ¦ frm2.IsDisposed)
{
frm2 = new Form2();
frm2.Show();
}
else
{
frm2.Activate();
frm2.WindowState = FormWindowState.Normal;
} }
private Form2 frm2;
private void button1_Click(object sender, EventArgs e)
{
if (frm2 == null || frm2.IsDisposed)
{
frm2 = new Form2();
frm2.Show();
}
else
{
frm2.Activate();
frm2.WindowState = FormWindowState.Normal;
}
}