我新的發展VB.NET中的形式,我現在有一個「嚮導」在現階段,我只是把它設置爲不同的形式,但問題在於更改窗體時Windows完全動畫和窗口位置可能會更改。這在用戶端不太好。
我見過的另一種方法是手動隱藏/顯示所有元素,但這很麻煩,很難維護。因此,是否有一個父容器可以在其中指定單獨的表單,因此所有表單邏輯仍然位於單獨的文件中,但它是通過一個表單(從用戶的角度來看)訪問的?
注:我目前使用.Show和.Hide在表單之間切換。
使用常規的Windows窗體,.NET與相同大小和位置面板2.0
我新的發展VB.NET中的形式,我現在有一個「嚮導」在現階段,我只是把它設置爲不同的形式,但問題在於更改窗體時Windows完全動畫和窗口位置可能會更改。這在用戶端不太好。
我見過的另一種方法是手動隱藏/顯示所有元素,但這很麻煩,很難維護。因此,是否有一個父容器可以在其中指定單獨的表單,因此所有表單邏輯仍然位於單獨的文件中,但它是通過一個表單(從用戶的角度來看)訪問的?
注:我目前使用.Show和.Hide在表單之間切換。
使用常規的Windows窗體,.NET與相同大小和位置面板2.0
您可以使用一些技巧將表單加載到面板中。我在主窗體中添加一個面板,然後調暗一個我想要顯示的新窗體,並將其添加到面板。想要顯示另一個表單,清除面板並加載一個新表單。以下是我用於將表單加載到面板的代碼:
Dim formToShow As New Form2
formToShow.TopLevel = False
formToShow.WindowState = FormWindowState.Maximized
formToShow.FormBorderStyle = Windows.Forms.FormBorderStyle.None
formToShow.Visible = True
Panel1.Controls.Add(formToShow)
無論如何要將鍵盤事件轉發給內部表單嗎?例如,選項卡不起作用,只能製作容器表單。 – Mattisdada
我真的不知道,沒有遇到過,我摧毀了我寫的代碼。我需要在我的緊迫工作完成後在今天晚些時候重新創建它。 – Wade73
把每個窗體的控件。因此,您不必逐個隱藏所有控件,只需隱藏一個面板並顯示另一個面板即可。
您應該考慮將您的控件放在一個或多個UserControl
s之內。這使您可以像表單一樣設計和使用它,但可以作爲單個「控件」使用,您可以根據需要顯示或隱藏該控件。
有關詳細信息,請參閱MSDN上的Developing Custom Windows Forms Controls with the .NET Framework。
有趣而又聰明的一個o.O – theGD
我假設您使用的是Windows窗體。如果你想知道你使用的是WinForms還是WPF,那麼我就不必假設。 –