2010-03-12 65 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