窗体form1,form2,按纽button1
我想第一次click button1的时候打开form2,第二次的时候关闭form2,依次类推可以重复操作
我代码写的是
private form2 formoc=new form2();
private bool i=true;
private void button1_Click(object sender, System.EventArgs e)
{
if(i)
{
formoc.show();
i=false;
}
else
{
formoc.close();
i=true;
}
}可是次操作只能重复一次,第2次打开时就会报错
未处理的“System.ObjectDisposedException”类型的异常出现在 system.windows.forms.dll 中其他信息:无法访问名为“test”的已处置对象。请问怎么解决
我想第一次click button1的时候打开form2,第二次的时候关闭form2,依次类推可以重复操作
我代码写的是
private form2 formoc=new form2();
private bool i=true;
private void button1_Click(object sender, System.EventArgs e)
{
if(i)
{
formoc.show();
i=false;
}
else
{
formoc.close();
i=true;
}
}可是次操作只能重复一次,第2次打开时就会报错
未处理的“System.ObjectDisposedException”类型的异常出现在 system.windows.forms.dll 中其他信息:无法访问名为“test”的已处置对象。请问怎么解决
解决方案 »
- C#链接ORACLE执行 存储过程 返回DATASET
- 假设一万个客户端需要连接服务器,选用什么传输协议比较好??????
- 如何用C#实现 像windows资源管理器左边的伸缩栏那样的功能??
- 关于窗体的问题
- 怎样在两个网页间相互传送大批量的数据?不用session保存怎样作到..请大侠指教...
- DataGrid的删除事件时,要弹出一个确认是否删除,怎么写?
- 一个网上asp.net整站的源代码,后台产品添加功能,新闻的删除和管理功能不能用,请大虾们帮忙改改。
- 如何使用STREAM将数据库中的OLE字段存为文件
- 为了提高单位电脑的安全等级,准备禁止u盘,但是鼠标等设备都是usb口,怎么办?
- C#中有以 某字符串 为分割符,把另一个字符串分割成若干个字符数组的方法么
- 求小灵通号码正则表达式
- MSDN04年10月版怎么改DVD了?有没有CD版啊?
是什么?
{
formoc.show();
i=false;
}
else
{
formoc.Hide();
i=true;
}
为什么close掉后再show就错 偶还不知道原因 在学习中
{
form2 formoc=new form2(); formoc.show();
i=false;
}
else
{
formoc.close();
i=true;
}
from MSDN估计是close后 show需要的资源被释放掉了?
午饭时间……
private bool i=true;
private void button1_Click(object sender, System.EventArgs e)
{
if(i)
{
formoc = new form2 ();
formoc.show();
i=false;
}
else
{
formoc.close();
i=true;
}
}
所以:Night_Elf(风暴虫) 兄回答的对!
1. else
{
formoc.close();==》 formoc.Hide()
i=true;
}
2.if(i)
{
新增实力化=》formoc = new form2 ();
formoc.show();
i=false;
}
改成form2.Hide();
1、使用窗体隐藏。楼上的已经提到了2、寻找窗体,如果存在,就关闭它,如果不存在就打开它
例如foreach(Form f in this.MdiChildren)
{
if (f is form2)
{
f.Close();
return;
}
}form2 frmTemp = new form2();
frmTemp.MdiParent = this;
frmTemp.Show();
当然,我的这个代码是针对Form2是Form1的子窗体,如果不满足这个条件,你也可以使用其它方式检测窗体是否存在关键是既然使用了Close,就要重新new