我正在研究vs2013 c#windows窗体。在form1
上,有一个按钮,当点击该按钮时,会将用户带到第二个表单form2
。 Form2
将是内部计划的收据,因此它需要打开不止一次。但是,由于listboxes
form2
form
的信息来自Form2 form2 = new Form2();
1,因此代码如下:
在button_click
事件中,form2.show();
是在课程级而不是本地编写的。每次我尝试第二次打开form2时,都会导致运行时错误。这是我在我写的地方收到的消息:An unhandled exception of type 'System.ObjectDisposedException' occurred in System.Windows.Forms.dll
Additional information: Cannot access a disposed object.
,
for (String date : dates) {
String year = date.substring(0,5);
if(!years.contain(year)){
years.add(year);
}else{
//already in the list
}
}
如果不将上述代码从类级别移开,我该如何解决此问题?谢谢。
答案 0 :(得分:0)
我可能需要更多信息,但是......
您可能会尝试在form2的构造函数中添加objekt。 然后从Form1中引入此对象以及您需要的数据。
像这样(在form1中):
Guest myGuest = new Guest(); Form2 form2 = new Form2(myGuest);
在form2中:
编写一个类似的构造函数 public form2(Guest thisGuest){} 在Form2中创建一个对象(guest myGuest)
...并使用如下方法: InitializeGUI(){myGuest = thisGuest}
希望有所帮助:)