gpt4 book ai didi

vb.net - 多次从表单中动态创建和删除控件

转载 作者:行者123 更新时间:2023-12-01 01:05:45 25 4
gpt4 key购买 nike

下面的子程序,当使用鼠标单击调用时,成功创建然后删除控件。但它不会第二次创建它。我假设这是因为标签不再标注为公开尺寸。即 Dim lblDebug1 As New Label位于表单的顶部变量部分。
然而,当我把 Dim lblDebug1 As New Label在子程序中,处置请求不起作用。有什么办法可以让我继续创建和处理控件吗?

在下面的子中,booleanDebug用于在创建和处理之间来回切换。提前致谢。

Dim lblDebug1 As New Label

booleanDebug = Not booleanDebug
If booleanDebug Then
Me.Controls.Add(lblDebug1)
lblDebug1.BackColor = Color.BlueViolet
Else
lblDebug1.Dispose()
End If

最佳答案

确保标签具有全局上下文。在拥有它的表单中,您拥有所有适当的大小和坐标信息以及可见性集。

这是一些对我有用的示例代码。首先创建一个新的windows窗体,然后在窗体中间添加一个按钮控件,然后使用以下代码。

Public Class Main
Private labelDemo As Windows.Forms.Label

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.SuspendLayout()

If labelDemo Is Nothing Then

labelDemo = New Windows.Forms.Label
labelDemo.Name = "label"
labelDemo.Text = "You Click the Button"
labelDemo.AutoSize = True
labelDemo.Left = 0
labelDemo.Top = 0
labelDemo.BackColor = Drawing.Color.Violet
Me.Controls.Add(labelDemo)

Else
Me.Controls.Remove(labelDemo)
labelDemo = Nothing
End If

Me.ResumeLayout()

End Sub
End Class

关于vb.net - 多次从表单中动态创建和删除控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18861653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com