有没有办法像这样在C#中更改对象的属性。
int Number = 1;
label [Number] .Text =“Test”;
结果会将label1.Text更改为“Test”;
希望你理解我的意思。
答案 0 :(得分:4)
您可以将所有标签放入数组中:
var labels = new[] { label1, label2, label3, label4 };
然后使用数组索引器:
int number = 0;
labels[number].Text = "Test";
答案 1 :(得分:3)
向列表添加标签
List<Label> list = new List<Label>()
list.Add(label1);
list.Add(label2);
list[0].Text = "Text for label 1";
list[1].Text = "Text for label 2";
Reflection是另一种方式,但很可能不是你的意思。
答案 2 :(得分:0)
也许字典(或相关数组)可以帮助你。其中键是整数和值 - 标签:
var dictionary = new Dictionary<int, Label>();
dictionary[2] = label1;
dictionary[7] = label2;
dictionary[12] = label2;
int number = 2;
dictionary[number].Text = "Test";
答案 3 :(得分:0)
尝试FindControl:
Label lbl = (Label) FindControl("label" + yourVariableHere);
lbl.Text = "Test";