Событие пожара программно C # - PullRequest
0 голосов
/ 25 июня 2018

У меня есть несколько радио кнопок внутри контейнера. Для каждого из них у меня есть событие CheckedChanged, поэтому у меня есть такой код

private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
    if ((sender as RadioButton).Checked)
    // do stuff...
}
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
    if ((sender as RadioButton).Checked)
    // do stuff...
}
private void radioButton3_CheckedChanged(object sender, EventArgs e)
{
    if ((sender as RadioButton).Checked)
    // do stuff...
}
// ... and so on...

Затем я должен запустить событие CheckedChanged для текущего проверенного radioButton. Чтобы получить radioButton, я использовал этот код:

RadioButton checkedButton = container.Controls.OfType<RadioButton>()
                            .FirstOrDefault(r => r.Checked);

Теперь, как я могу запустить событие CheckedChanged для checkedButton?

РЕДАКТИРОВАТЬ: я использую WinForms. Мои радиокнопки в tabPage. Когда я открываю tabPage, мне нужно знать, что в данный момент проверено radioButton, и запустить соответствующее событие checkedChanged. Это потому, что когда я выбираю другой tabPage, я выполняю другие действия и, возвращаясь к tabPage, содержащему переключатели, мне нужно восстановить предыдущее состояние.

1 Ответ

0 голосов
/ 25 июня 2018

Изменение значения свойства Checked должно вызвать событие:

checkedButton .Checked = !checkedButton .Checked;

Вы также можете явно вызвать обработчик события, например:

RadioButton checkedButton = container.Controls.OfType<RadioButton>().FirstOrDefault(r => r.Checked);
switch (checkedButton.Name)
{
    case "radioButton1":
        radioButton1_CheckedChanged(this, EventArgs.Empty);
        break;
    case "radioButton2":
        radioButton2_CheckedChanged(this, EventArgs.Empty);
        break;
    case "radioButton3":
        radioButton3_CheckedChanged(this, EventArgs.Empty);
        break;
}

В зависимости от ваших требованийВы, конечно, можете рассмотреть возможность использования одного и того же обработчика событий для всех RadioButtons.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...