簡體   English   中英

C#Windows窗體應用程序->在多個窗體之間切換

[英]C# Windows Form Application --> Switching Between Multiple Forms

我正在使用Microsoft Visual C#2010開發Windows窗體應用程序,我有兩個通過Visual Studio GUI創建的窗體,現在我想在Button Click事件this.hide()切換到下一個窗體,但是當我寫下一個窗體名后跟點號時show()方法沒有顯示,似乎show方法不可用。 如何動態顯示新窗體,因為它不是動態創建的,我已經通過Visual Studio GUI創建了它

Form myform = new Form();

myform.show();

顯示功能存在,但在我的情況下不存在

請告訴我是什么問題

您需要創建一個Form2對象,並在Form2實例上調用show方法

Form2 form = new Form2();
form.Show();

編輯:由於您編輯了您的問題,並添加了部分Form myform = new Form(); 您實際上是在創建基類Form的實例。 您需要創建繼承Form類的Form實例。

public partial class Form2 : Form

在這種情況下,您需要創建Form2類的實例。 但是您的myForm應該具有Show方法。 你確定你有System.Windows.Forms; 在using語句中,Form類來自System.Windows.Forms; 嘗試

System.Windows.Forms.Form myform = new Form(); //Although this is wrong but it should have show method
myform.Show();

創建第二種形式的對象,然后調用Show()方法

SecondForm frmsecond = new SecondForm();
frmsecond.Show();

Form myform = new Form(); 這里不需要,因為您正在嘗試使myform作為Form類的對象

好吧..“您有兩種形式(您不是在動態創建它們),並且您想在單擊事件上從一種形式切換到另一種形式”,不是嗎?

例如,考慮通過VS GUI創建了兩個表單,即Form1和Form2。 如果你喜歡做類似的事情

Form2.Show();

那你做不到 您是否看過應用程序的入口點,即 您應用程序的Main()方法(大多數情況下在“ Program.cs”中)。 盡管您是靜態創建Form1的,但您會發現

  Application.Run(new Form1);

你現在明白了。 您不能使用“類型”。 您應該使用一個變量,僅出於這個原因,我們正在創建第二個Form的實例並顯示它。

Form2 form=new Form2();
form.Show();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM