Как изменить индекс tabcontrol с разными радиокнопками? C # - PullRequest
1 голос
/ 21 марта 2019
private void radioButtons_CheckedChanged(object sender, EventArgs e)
    {
        RadioButton radioButton = sender as RadioButton;
        if (radioButton1.Checked) tabControl1.SelectedIndex = 0;
        else if (radioButton2.Checked) tabControl1.SelectedIndex = 1;
        else if (radioButton3.Checked) tabControl1.SelectedIndex = 2;
        else if (radioButton4.Checked) tabControl1.SelectedIndex = 3;
        else if (radioButton5.Checked) tabControl1.SelectedIndex = 4;
        else if (radioButton6.Checked) tabControl1.SelectedIndex = 5;
        else if (radioButton7.Checked) tabControl1.SelectedIndex = 6;
        else if (radioButton8.Checked) tabControl1.SelectedIndex = 7;
    }

Как видите, я меняю вкладки с помощью радиокнопок с помощью EventHandler ().Мне было интересно, как я могу упростить эту структуру "иначе, если".Возможно, мне понадобится foreach (), но я не могу найти ответ.

1 Ответ

0 голосов
/ 21 марта 2019

Вы можете установить Tag для каждой привязки переключателя с индексом.

radioButton1.Tag = 0;
radioButton2.Tag = 1;
...

RadioButton radioButton = sender as RadioButton;
if(radioButton.Checked)
    tabControl1.SelectedIndex = (int)radioButton.Tag;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...