重新创建GUI控件

时间:2019-01-17 04:59:09

标签: vb.net winforms

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

我想知道有什么方法可以以编程方式重新创建GUI控件,也可以将其重置为打开表单时的状态。

我知道这是一个便宜的解决方案,但目前这是我唯一的选择。

1 个答案:

答案 0 :(得分:2)

通常,这可以工作:

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子句连接。

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