【问题标题】:VB.NET Link Label to another LabelVB.NET 将标签链接到另一个标签
【发布时间】:2020-04-18 16:37:05
【问题描述】:

我是 VB.NET 的新手,也是自学的,所以基本上我一无所知。我已经编写了一些软件(约 2000 行),它相当基础。然而,当用户做不同的事情时,其中许多行只是在更改不同的标签(在不同的选项卡上)。

我发现修改标签非常烦人,主要是当我有 3-4 个标签总是在不同的地方显示相同的内容时。我已经进行了一些与尝试链接或绑定这些标签相关的搜索,但我认为我没有找到我想要的东西。我确定我正在搜索错误的术语或非常简单的东西。

我的问题是:有没有一种简单的方法可以将标签链接在一起,所以我只需要更改一个标签上的文本/颜色,其他“链接”标签也随之而来?

下面是我试图简化的 sn-p。

            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

这些标签始终显示相同,但​​显示在不同的选项卡上。必须有更好的方法。

【问题讨论】:

标签: vb.net text binding label


【解决方案1】:

您可以创建一个在表单级别声明的标签数组,然后在调用 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 问题提供 vb.net 答案。 OP 和未来的读者可能会也可能不会理解 C#。
  • @Mary 现在更正了。有时候,我的注意力如此集中在当前的工作上,以至于没有注意到我眼皮底下的事情
猜你喜欢
  • 1970-01-01
  • 2018-06-04
  • 1970-01-01
  • 2011-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-17
相关资源
最近更新 更多