2010-03-12 117 views

回答

9

將所有的初始化代碼放入方法中,而不是構造函數或Form.Load事件,只調用該方法。這還可以包括設計器生成的InitializeComponent()方法,該方法設置窗體上的所有控件。不過,您應該刪除表單上的所有控件,作爲該方法的第一個操作。

5

你不能那樣做。

爲什麼要重新加載表單?你想清除所有的輸入控件或類似的東西嗎?最簡單的解決方案可能是隻手工清理。

或者,您可以將所有的控件放到用戶控件容器中。然後在您的表單上實例化該用戶控件。如果你想重新加載你的表單內容,你現在只需要刪除並重新實例化用戶控件。

2

Application.Restart()

關閉應用程序,並立即打開一個新的實例。

+0

感謝,它爲我工作。 – 2017-01-15 12:12:56

+2

表單不是一個完整的應用程序! – 2017-04-19 09:25:07

+0

不知道是誰投票給這個人,但這是最乾淨的答案。可能不會像AltF4那樣進行表單刷新,但我不認爲有重新加載表單的乾淨方式。清除,初始化和運行加載事件的技巧不適用於所有人。更有可能不使用Me.ControlsClear()會留下大量資源打開,這將導致「刷新」時出現訪問衝突問題。乾淨的重新啓動是做到這一點的唯一方式,而不會馬虎。 +1 – thebunnyrules 2017-06-04 15:19:02

1

嘗試使用Me.Refresh()它與我

+0

您可能已經爲其工作定義了一個Refresh子項。 – thebunnyrules 2017-06-04 15:04:07

6

我知道工作已經晚了,但它的使用完全

Me.Controls.Clear() 'removes all the controls on the form 
InitializeComponent() 'load all the controls again 
frmHome_Load(e, e) 'Load everything in your form load event again 
+0

哇..簡直太棒了!節省了很多時間..! – 2017-09-25 03:18:13