【问题标题】:C# How to Change the Button properties by selecting a Button via a variableC#如何通过变量选择按钮来更改按钮属性
【发布时间】:2018-11-07 09:27:18
【问题描述】:

我想更改按钮的文本属性,而不是直接选择它们。 喜欢:

Button1.Text = "New Text"

相反,我想做更多这样的事情?:

for(int i = 0; i<5; i++)
{
   Button.id[i].Text = str[i];
}

我是 C# 和 windows 应用程序的新手,所以也许有人可以帮助我解决这个问题。

【问题讨论】:

  • 请指定这是 WinForms 还是 WPF。
  • 您有多个按钮,并且您想循环更改它们的文本?
  • 不分框架:你听说过“属性绑定”这个词吗?
  • 它是 WinForms。我是新手,所以我没有听说过“属性绑定”,我会寻找它,看看它是否能吸引我。

标签: c# winforms button


【解决方案1】:

您应该首先从i 创建一个名称,比如说Button{i},然后使用FindControl() 找到按钮并进行分配:

for(int i = 0; i < 5; i++)
{
    string btnName = $"Button{i}";  //eg. Button1, Button2, Button3 ...
    Button myBTN = FindControl(btnName) as Button;
    myBTN.Text = str[i];
}

或者在 winform 应用程序中,您可以在 FindControl() 中使用 ControlCollection.Find():

Button myBTN = this.Controls.Find(btnName, true).FirstOrDefault() as Button;

【讨论】:

  • FindControl 用于服务器控件
【解决方案2】:

试试这个

    string[] str = { "New Text 1", "New Text 2", "New Text3", "New Text 4", "New Text 5" };
    Button[] button = { button1, button2, button3, button4, button5 };

            for (int i = 0; i < 5; i++)
            {
                button[i].Text = str[i];
            }

【讨论】:

    猜你喜欢
    • 2013-03-05
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    • 1970-01-01
    相关资源
    最近更新 更多