2014-01-23 130 views
0

我正在使用Visual Studio 2012 C#窗體窗體應用程序。我只是通過button_click事件來設置我的表單流,即form1有一個按鈕,單擊Next將關閉當前表單並打開一個新表單Form2。 Form2有一個「單擊下一步」按鈕,它將Form3等。在我的表單中,我在所需的位置使用了form1.show()和form1.close()。請看看這個和回覆是welcome.I面臨異常作爲在System.Windows.Forms.dll中發生類型'System.ObjectDisposedException'的未處理的異常其他信息:無法訪問處置的對象。
MY Program.cs是這裏在System.Windows.Forms.d中發生未處理的異常'System.ObjectDisposedException'類型

namespace WindowsFormsApplication1 
{ 
    static class Program 
    { 

     [STAThread] 
     static void Main() 
     { 
      Application.EnableVisualStyles(); 
      Application.SetCompatibleTextRenderingDefault(false); 
      Application.Run(new Validate_Form()); 



     } 
    } 
} 
+0

這絕對不是你的所有代碼。將代碼發佈到發生異常的地方。 –

+0

好像你正在建造某種巫師。搜索...菊花鍊形式是一種笨拙的方式來達到效果。 – DonBoitnott

回答

1

在WinForm應用程序,您在Main方法指定窗口而它與操作系統(Windows)中的應用程序的進程處理器相關的應用程序的主要形式。流程可以分爲兩種類型。窗口化進程和無窗口進程。在Windowed過程中,映射到Windows窗口對象的應用程序中的所有其他窗體將是應用程序主窗體的直接或間接子窗體。 如果你正在設計一個嚮導,因爲它看起來就是你正在做的事情,我的建議是將你的主表單作爲一個容器並且當兒童被加載到主表單中時具有嚮導的步驟。例如,你有一個2步向導:在這種情況下,你需要3個表單;主要形式和2個步驟。主窗體將標題和底部區域的導航/控制按鈕(下一步/完成/取消),並在表格的中間部分插入一個容器,加載2個步驟。您需要將步驟的屬性設置爲Window = none和ChildWindow = true。現在,當您加載主窗體時,它通過在主窗體的容器對象中設置正確的子/父關係將步驟1加載到其容器區域中。一旦用戶點擊下一個,然後加載第二個表單,隱藏第一個表單,並激活第二個表單。我想你有這個想法。這就是實際嚮導的設計。如果您有任何其他問題/疑慮,請告知我。

相關問題