Form1
namespace SunnyCMS.Archives.UI
{
public partial class Form1 : Form
{
private Form2 f;
public Form1()
{
InitializeComponent();
f = new Form2();
}
private void button1_Click(object sender, EventArgs e)
{
f.Show();
}
}
}Form2
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
}
namespace SunnyCMS.Archives.UI
{
partial class Form2
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
Windows 窗体设计器生成的代码
}
}第一次打开Form2正确,第二次就会错误提示,Form2已处置。
当然button1_Click代码修改为:
private void button1_Click(object sender, EventArgs e)
{
if (f.IsDisposed)
{
f = new Form2();
f.Show();
}
}希望各位朋友提供各自的方案。

