重新创建 GUI 控件



我正在使用一个名为VideoCapX的视频捕获控件,并且遇到了一个错误,经过数小时的调试,我确定修复故障的唯一方法是重新启动程序。 重置控件。

我想知道有没有办法以编程方式重新创建 GUI 控件,也就是将其重置为表单打开时的方式。

我知道这是一个便宜的修复,但在这一点上这是我唯一的选择。

一般来说,这将起作用:

Me.SomeControl1.Dispose()
Me.SomeControl1 = New SomeControl
'Configure SomeControl1 here.
Me.Controls.Add(Me.SomeControl1)

其中SomeControl1是在设计时将控件添加到窗体时自动创建的字段。 第一行从窗体中删除现有控件,第二行将现有控件替换为相同类型的新控件,最后一行将新控件添加到窗体中。 您需要在两者之间设置新控件的适当属性,因此您可能希望保留旧控件以获取所需的属性值,例如

Dim newControl As New SomeControl
'Configure newControl here, e.g.
newControl.Location = Me.SomeControl.Location
Me.SomeControl1.Dispose()
Me.SomeControl1 = newControl
Me.Controls.Add(Me.SomeControl1)

请注意,将新控件分配给现有字段将自动使用 Handles 子句连接任何事件处理程序。

也就是说,您正在使用的可能是相当复杂的自定义控件,因此很难说是否还有其他一些必需的步骤。

最新更新