我是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
这些标签始终显示相同,但显示在不同的选项卡上。必须有更好的方法。
您可以创建一个在表单级别声明的标签数组,然后在调用初始化组件后使用您要更改的标签填充此数组。
然后编写一个遍历数组并用您的值更改所有标签的方法。例如:
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方法。