第二次打开会导致运行时错误

时间:2017-01-24 16:09:15

标签: c# winforms

我正在研究vs2013 c#windows窗体。在form1上,有一个按钮,当点击该按钮时,会将用户带到第二个表单form2Form2将是内部计划的收据,因此它需要打开不止一次。但是,由于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
         }
    }

如果不将上述代码从类级别移开,我该如何解决此问题?谢谢。

1 个答案:

答案 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}

希望有所帮助:)