2012-05-18 57 views

回答

4

另一種解決方案,我用的時候我需要展示的主要形式是利用該解決方案之前必須有一個閃屏:

在你的程序類的主要功能,你通常有這樣的事情:

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

    } 

Application.Run將應用程序綁定到窗體,以便窗體關閉時應用程序退出。 如果你想表格1日前展示形式2,你可以這樣做:

[STAThread] 
    static void Main(string[] ps) 
    { 
     Application.EnableVisualStyles(); 
     Application.SetCompatibleTextRenderingDefault(false); 
     Form1 splash = new Form1(); 
     splash.ShowDialog(); 
     Application.Run(new Form2()); 
    } 

這個新代碼將顯示窗口2。並關閉form2後,它將顯示form1。關閉Form1將退出應用程序。

通常在另一個線程中創建Splash窗口,讓主線程加載它所需的數據。

+0

好和智能答案! +1 – Writwick

+0

可愛的評論:) TY –

+0

好吧,但有沒有辦法,當我關閉form1,form2可以成爲form1或成爲主要形式...我已經完成程序mo0st,我只需要一個代碼改變主窗體form2 ...雖然很好的答案! –

1

而不是關閉你可以隱藏From1。

Form1.hide = true 
+0

好吧,我可以只關閉窗體,然後讓其他窗體成爲主窗體...我更喜歡那種方法,但是很好的答案! –

0

你應該覆蓋的形式OnClosing方法...

protected override void OnClosing(CancelEventArgs e) 
{ 
    e.Cancel = true; 
    this.Hide(); 
} 
+0

您可以添加一點來顯示下一個表格! 'form2.Show()' – Writwick