gpt4 book ai didi

c# - 更改在 C# 中以编程方式创建的标签的文本?

转载 作者:行者123 更新时间:2023-11-30 13:21:34 25 4
gpt4 key购买 nike

我在应用程序运行时(在运行时)以编程方式在私有(private)空隙中创建了一个名为 txt1 的标签,我想在另一个私有(private)空隙中更改此标签的文本,但我不能无法从另一个空间访问 txt1!

动态创建标签的脚本:

private void labelCreate() 
{
Label txt1 = new Label();
}

用于更改在 labelCreatevoid 中创建的 txt1 文本的脚本(& 此脚本不起作用,因为 txt1 尚未被声明为控件):

private void labelTextChange()
{
txt1.Text = "Hello World!";
}

更新 1: 我需要创建 100 个具有不同名称的标签,然后我将使用 for 语句来创建 100 个标签。我不能声明 100 个全局变量。所以我需要传递变量而不是将它们声明为全局变量。

更新 2:是否可以在 for 语句中将 100 个标签声明为全局标签?

更新 3: 假设我想从数据库中获取一些数据,我想用唯一的标签分别显示它们。所以我给每个标签命名并根据从数据库中获得的不同数据更改它们的文本!所以我需要 2 个空白:一个用于根据我从 DB 获得的行数创建标签,另一个用于更改我之前创建的标签文本!

Question: How can I have access on a control which has been created in different void? If there is an answer please share the link :)

谢谢

最佳答案

在你的类中全局声明Label

Label txt1;
private void labelCreate()
{
txt1 = new Label();
}

比另一种方式访问​​

private void labelTextChange()
{
txt1.Text = "Hello World!";
}

编辑 1

如果您有多个标签,在创建标签时,您可以将这些对象存储在一个数组中,当您需要更改这些文本时,可以这样做

Label[] labelsArray //declare globally
private void labelTextChange()
{
// Get Label objects from array
labelsArray = { label1, label2, label3, label4, label5 };
for (int i = 0; i < labelsArray.Count(); i++)
{
labelsArray[i].Text = "Hello.. " + (i + 1).ToString();
}
}

关于c# - 更改在 C# 中以编程方式创建的标签的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51669022/

25 4 0