VB.NET链接标签到另一个标签

问题描述 投票:0回答:1

我是VB.NET的新手,也是自学成才的,所以基本上我一无所知。我已经写了一些软件(〜2000行),这是相当基本的。但是,当用户执行不同的操作时,这些行中的许多行只是在更改不同的标签(在不同的选项卡上)。

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

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

下面是我要简化的摘要。

            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个回答
0
投票

您可以创建一个在表单级别声明的标签数组,然后在调用初始化组件后使用您要更改的标签填充此数组。

然后编写一个遍历数组并用您的值更改所有标签的方法。例如:

public class Form1: Form
{
    private Label[] myLabels;

    public Form1()
    {
        InitializeComponent();
        myLabels = new Label[] { lblStatus, lblStatusRec, lblRadioStatus, lblRadioSetup};
    }

    private void UpdateLabel(string lableText, Color fore, Color back)
    {
        foreach(Label l in myLabels)
        {
            l.Text = labelText;
            l.BackColor = back;
            l.ForeColor = fore;
        }
    }
}

现在,每次需要更改这些标签时,都将使用所需的参数调用UpdateLabel方法。

© www.soinside.com 2019 - 2024. All rights reserved.