txt1
当应用程序运行时(在运行时),我已经在一个私有空白中以编程方式创建了一个标签,我想在另一个私有空白中更改此标签的文本,但是我无法txt1
从另一个空白中访问!
用于动态创建标签的脚本:
private void labelCreate()
{
Label txt1 = new Label();
}
用于更改txt1
已在labelCreate
void中创建的文本的脚本(此脚本不起作用,因为txt1
尚未将其声明为控件):
private void labelTextChange()
{
txt1.Text = "Hello World!";
}
更新1:我需要创建100个具有不同名称的标签,然后我将使用一条for
语句来创建100个标签。我无法声明100个全局变量。因此,我需要传递变量,而不是将其声明为全局变量。
更新2:是否可以在一个for
语句中将100个标签声明为全局标签?
更新3:假设我想从数据库中获取一些数据,我想将它们分别显示在唯一的标签中。因此,我给每个标签命名,并根据从DB获得的不同数据来更改它们的文本!所以我需要两个空位:一个用于根据我从数据库获得的行数创建标签,另一个用于更改我之前创建的标签文本!
问题:如何访问在其他void中创建的控件?如果有答案,请分享链接:)
谢谢
如果标签数量动态,则可以使用列表。
List<Label> labels;
private void labelCreate()
{
labels = new List<Label>();
for(int i = 0; i < 100; i++)
{
labels.Add(new Label());
}
}
private void labelTextChange()
{
// use the index or search for the name of the label
labels[42].Text = "Hello World!";
}
这是有关变量的生存期及其可访问性(可以从中读取和/或写入变量的位置)的一些信息,您可以找到帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句