public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Form2 f2 = new Form2();
private void button1_Click(object sender, EventArgs e)
{
f2.Show();
}
}当我点击button1时打开Form2,在点button1就打不开Form2了 应为Form2已经打开了
但是当我关闭Form2在点击button1的时候 就出错了
显示 ------无法访问已释放的对象。对象名:“Form2”。----我就是想让我打开Form2之后就无法再次打开Form2。 请指点 小弟下,谢谢各位了!
{
public Form1()
{
InitializeComponent();
}
Form2 f2 = new Form2();
private void button1_Click(object sender, EventArgs e)
{
f2.Show();
}
}当我点击button1时打开Form2,在点button1就打不开Form2了 应为Form2已经打开了
但是当我关闭Form2在点击button1的时候 就出错了
显示 ------无法访问已释放的对象。对象名:“Form2”。----我就是想让我打开Form2之后就无法再次打开Form2。 请指点 小弟下,谢谢各位了!
解决方案 »
- 怎么从A.TXT中提取我需要的行,存储到B.TXT呢(初学者求教)谢谢
- C# 怎么获取剪切板里的图片
- C#类中全局变量的调用
- 怎样让panel中的滚动条收箭头控制上下左右的移动,急
- C#线程安全问题。。。。。。急需解决
- c# winform datagridview 双击列标头问题
- 怎样根据DataSet中某一列的数据,对DataSet排序?
- C#中如何验证输入是否为汉字(急)
- 用HttpWebResponse,HttpWebRequest 下载网页时遇到错误了,怎么办?
- c# 怎么和arduino进行蓝牙通信
- 使用Timer控件读取串口数据问题?
- vs2005 html中的form如果不添写NAME和ID属性默认的名称是什么?
{
if (_instance == null)
{
_instance = new form2();
}
return _instance;
} protected form2()
{
InitializeComponent();
} private void form2_FormClosed(object sender, FormClosedEventArgs e)
{
_instance = null;
} 在form 1里头这样调用form2 f2=form2.Instance();
{
Form2 f2 = new Form2();
f2.Show();
}
private void button2_Click(object sender, EventArgs e)
{
if (!Form2.isShown)
{
Form2 form2 = new Form2();
form2.Show();
}
}Form2: public partial class Form2 : Form
{
public static bool isShown = false; private void Form2_Shown(object sender, EventArgs e)
{
isShown = true;
} private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
isShown = false;
}
private void button1_Click(object sender, EventArgs e)
{
if (f2.IsDisposed)
f2=new Form2();
f2.Show();
}
1、先判断Form2是否打开
2、若处于打开状态,则给出一个消息弹出框,提示已经打开了该窗体
{
public Form1()
{
InitializeComponent();
}
Form2 f2 = new Form2(); private void button1_Click(object sender, EventArgs e)
{
f2.Show();
}
}
第一次打开窗体并关闭后,Form2 已经释放。但你第二次打开是又没又重新实例化肯定报错。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Show();
}
}
想不重复打开Form2 就要加判断了
private void button1_Click(object sender, EventArgs e)
{ if (!(form1.IsHandleCreated))
{
form1 = new Form1();
}
form1.Show();
}