C # Как изменить свойства кнопки, выбрав кнопку с помощью переменной - PullRequest
0 голосов
/ 07 ноября 2018

Я хочу изменить свойства текста кнопки, не выбирая их напрямую. Как:

Button1.Text = "New Text"

Вместо этого я хочу сделать что-то более подобное?:

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

Я новичок в C # и приложениях Windows, так что, возможно, кто-то может помочь мне с этой проблемой.

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

попробуйте

    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];
            }
0 голосов
/ 07 ноября 2018

Сначала необходимо создать имя из 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 вы можете использовать ControlCollection.Find () вместо FindControl ():

Button myBTN = this.Controls.Find(btnName, true).FirstOrDefault() as Button;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...