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 方法。