我正在编写一个C#.NET应用程序。我有一个表格。当表单创建时,我创建一个类的实例。当我关闭表单时,我想要处理这个类,以便下次打开表单时,我可以创建一个新的类的新实例。所以,在form_Closing事件中,我添加了这样的代码:classInstance = null;
问题是,出于某种原因,下次打开表单时,类不等于null,而是它与我在关闭之前处于相同状态表格。这是为什么发生?我怎样才能让课程“重设”?
编辑:添加信息:
将myHandler是在Form类的字段。 它看起来像这样:
private HSFW_Handler myHandler;
我指的类是单身,所以我创造这样的:
public static HSFW_Handler GetInstance()
{
if (myHSFW == null)
{
myHSFW = new HSFW_Handler();
return myHSFW;
}
else return myHSFW;
}
我在Form_Shown事件创建它的初始实例
private void SetupDialogForm_Shown(object sender, EventArgs e)
{
try
{
myHandler = HSFW_Handler.GetInstance();
UpdateDisplay();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
表单闭幕看起来像这样...
private void SetupDialogForm_FormClosing(object sender, FormClosingEventArgs e)
{
myHandler = null;
}
你能这样减少对演示该问题的一个片段。表单创建/显示代码和关闭代码。 – ChrisF 2010-07-21 20:47:24
“当创建表单时,我创建了一个类的实例。” - 当您下次打开表单时,您确定不会创建该类的另一个实例吗? – dtb 2010-07-21 20:48:21
可能还有其他事情正在进行。你还对班上做了什么? – MCain 2010-07-21 20:48:46