我在一个窗体中想通过2个按钮打开/关闭另外一个窗体 ,但是如果打开了就不想打开第二次了.
(1)不想通过在两个按钮事件中互相把 Enable 设为 fasle;
(2)不想通过一个变量来定义打开的次数.private Form1 f;
private void button1_Click(object sender, EventArgs e)
{
if ( *****怎么写这个表达式?*******)
{
f=new Form1();
f.show();
}
}
private void button2_Click(object sender, EventArgs e)
{
f.close();
f.dispose();
//***********如何把f完全释放掉?**********
}
(1)不想通过在两个按钮事件中互相把 Enable 设为 fasle;
(2)不想通过一个变量来定义打开的次数.private Form1 f;
private void button1_Click(object sender, EventArgs e)
{
if ( *****怎么写这个表达式?*******)
{
f=new Form1();
f.show();
}
}
private void button2_Click(object sender, EventArgs e)
{
f.close();
f.dispose();
//***********如何把f完全释放掉?**********
}
解决方案 »
- GridView动态添加templatefield,如何对其进行编辑,更新等等
- 为何this.Close()后的语句会仍然执行
- 请教各位大侠不能在javascript中嵌套一个写好的方法吗?????
- C# 查询 Oracle 时的中文乱码问题
- 如何判断当前内存中是否有某个类Student的实例存在
- 键盘事件:按 Alt+s没有反应,请指示我(小程序如下)
- dataGrid的时间显示的问题
- 关于VIEWSTATE的问题,保存时间!
- 批量改文件名如何实现 1.gif to 2.gif ,2.gif to 3.gif ... n.gif 2 n+1.gif [在线等待]
- 创建windows应用程序出错~!#######(高手们救命啊)######
- 我有一端关于DOM解析xml的代码,,老是出错.写出来大家给我看看..谢谢!
- 一个datagrid的问题
否则 return窗体关闭时 , 把 全局变量附值为 null
忘了那函数叫什么了,lz msdn一下看看
[DllImport("user32", SetLastError = true)]
static extern unsafe IntPtr FindWindow(string lpClassName, string lpWindowName);
if (FindWindow(null, "采集器").Equals(IntPtr.Zero))
{}
但是第一次可以,执行到button2 关闭后,如果再执行button1 时 f就不等于 null 了.
{
f.Activate();
return;
} f=new Form1();
f.show();
如果是MDI窗体就有窗体容器用来遍历试试在关闭时 f = null; 这样再用来判断时应该就可以了