Vb.net 无法使用新关键字更改标签文本
我试图用两种方法来更改标签上的文本,第二种方法由于某种原因不起作用。谢谢你的帮助。谢谢 第一种方法:Vb.net 无法使用新关键字更改标签文本,vb.net,Vb.net,我试图用两种方法来更改标签上的文本,第二种方法由于某种原因不起作用。谢谢你的帮助。谢谢 第一种方法: Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim lbl As Label lbl = Label1 With lbl .Text = "Changed" End With End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim lbl As Label
lbl = Label1
With lbl
.Text = "Changed"
End With
End Sub
第二种方法:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim lbl As New Label
With lbl
.Text = "Changed."
End With
Label1 = lbl
End Sub
第二种技术有几个问题,这就是它不起作用的原因 首先,新标签没有位置 第二,新标签不是表单控件列表的一部分(并且不会被绘制) 第三,旧的“Label1”仍然在表单的控件中被引用(无论如何它都会隐藏新控件) 要使方法2起作用,它必须如下所示:
Dim lbl As New Label()
lbl.Text = "Changed"
lbl.Location = Label1.Location
Me.Controls.Add(lbl)
Me.Controls.Remove(Label1)
Label1 = lbl
如果你想知道为什么它需要这么多的微观管理,答案是在第一种方法中,所有这些事情都已经处理好了,因为你正在使用现有的Label1。通过创建一个全新的标签,你将接管整个工作
希望这有意义。欢迎来到SO!我认为如果你复习并修改你的问题,你可以提高得到答案的机会。具体来说,如果您解释“第二种方法由于某些原因不起作用”,这会有所帮助。是否有错误?输出与预期有什么不同?您可以跳过大部分内容,只使用行
Label1.Text=“Changed”
@laancelot我知道,我只是想知道为什么第二种方法不起作用。谢谢。@DCTID我在运行这两个代码时没有发现任何错误,但第二个代码不会更改Label1的文本。@VoidLT很抱歉误判了您,它看起来像是新用户的问题之一。我明白你的意思,这是一个很好的问题,非常有帮助。非常感谢。