VB.NET Link 标签到另一个标签
VB.NET Link Label to another Label
我是VB.NET新手,也是自学的,所以基本上什么都不会。我写了一些软件(~2000 行),它是相当基础的。然而,当用户做不同的事情时,其中许多行只是更改不同的标签(在不同的选项卡上)。
我发现修改标签非常烦人,主要是当我有 3-4 个标签总是显示相同的内容但在不同的地方时。我已经进行了一些与尝试 link 或绑定这些标签相关的搜索,但我认为我没有找到我要找的东西。我确定我正在搜索错误的术语或非常简单的东西。
我的问题是:有没有一种简单的方法可以将 link 个标签放在一起,这样我只需要更改一个标签上的 text/color,而其他 "linked" 个标签也跟着改变?
下面是我试图简化的部分内容。
lblStatus.Text = "Connected to transmitter!"
lblStatus.BackColor = Color.Green
lblStatus.ForeColor = Color.White
lblRadioStatus.Text = "Connected to transmitter!"
lblRadioStatus.BackColor = Color.Green
lblRadioStatus.ForeColor = Color.White
lblStatusRec.Text = "Connected to transmitter!"
lblStatusRec.BackColor = Color.Green
lblStatusRec.ForeColor = Color.White
lblRadioSetup.Text = "Connected to transmitter!"
lblRadioSetup.BackColor = Color.Green
lblRadioSetup.ForeColor = Color.White
这些标签始终显示相同但显示在不同的选项卡上。必须有更好的方法。
您可以创建一个在表单级别声明的标签数组,然后在调用 InitializeComponent 之后用您要更改的标签填充该数组。
然后编写一个循环遍历数组的方法,并用您的值更改所有标签。
例如:
Public Class Form1
Dim myLabels() As Label
Public Sub New()
InitializeComponent()
myLabels = New Label() {lblStatus, lblStatusRec, lblRadioStatus, lblRadioSetup};
End Sub
Private Sub UpdateLabel(labelText As String, fore As Color, back As Color)
For Each lbl In myLabels
l.Text = labelText
l.BackColor = back
l.ForeColor = fore
Next
End Sub
End Class
现在,每次您需要更改这些标签时,您都可以使用所需的参数调用 UpdateLabel 方法。
我是VB.NET新手,也是自学的,所以基本上什么都不会。我写了一些软件(~2000 行),它是相当基础的。然而,当用户做不同的事情时,其中许多行只是更改不同的标签(在不同的选项卡上)。
我发现修改标签非常烦人,主要是当我有 3-4 个标签总是显示相同的内容但在不同的地方时。我已经进行了一些与尝试 link 或绑定这些标签相关的搜索,但我认为我没有找到我要找的东西。我确定我正在搜索错误的术语或非常简单的东西。
我的问题是:有没有一种简单的方法可以将 link 个标签放在一起,这样我只需要更改一个标签上的 text/color,而其他 "linked" 个标签也跟着改变?
下面是我试图简化的部分内容。
lblStatus.Text = "Connected to transmitter!"
lblStatus.BackColor = Color.Green
lblStatus.ForeColor = Color.White
lblRadioStatus.Text = "Connected to transmitter!"
lblRadioStatus.BackColor = Color.Green
lblRadioStatus.ForeColor = Color.White
lblStatusRec.Text = "Connected to transmitter!"
lblStatusRec.BackColor = Color.Green
lblStatusRec.ForeColor = Color.White
lblRadioSetup.Text = "Connected to transmitter!"
lblRadioSetup.BackColor = Color.Green
lblRadioSetup.ForeColor = Color.White
这些标签始终显示相同但显示在不同的选项卡上。必须有更好的方法。
您可以创建一个在表单级别声明的标签数组,然后在调用 InitializeComponent 之后用您要更改的标签填充该数组。
然后编写一个循环遍历数组的方法,并用您的值更改所有标签。
例如:
Public Class Form1
Dim myLabels() As Label
Public Sub New()
InitializeComponent()
myLabels = New Label() {lblStatus, lblStatusRec, lblRadioStatus, lblRadioSetup};
End Sub
Private Sub UpdateLabel(labelText As String, fore As Color, back As Color)
For Each lbl In myLabels
l.Text = labelText
l.BackColor = back
l.ForeColor = fore
Next
End Sub
End Class
现在,每次您需要更改这些标签时,您都可以使用所需的参数调用 UpdateLabel 方法。