Правильно ли это делать?
Это зависит. Если вам нужно, чтобы каждая радио-кнопка была очень отличительной. Значение: вам действительно нужно проверить внутри метода события:
if(radioButton6.Checked)
Тогда это путь. Другой случай, когда это может быть применено, это когда вы зарегистрировали отдельный обработчик событий для каждой кнопки-переключателя. Затем вы можете получить доступ к кнопке напрямую, потому что в этом случае отправитель всегда будет, например, radioButton6
.
Могу ли я получить доступ к состоянию CheckBox из объекта отправителя?
Да, вы можете. Это может быть целесообразно в этом случае: если вы решите зарегистрировать один и тот же метод для нескольких событий переключателя, вы можете использовать отправителя и привести его. Это может сэкономить вам много двойного кода.
private void radioButton6_CheckedChanged_2(object sender, EventArgs e)
{
RadioButton button = sender as RadioButton;
if(button?.Checked == true)
{
}
}
В таком случае вы можете использовать свойство Tag RadioButton
, чтобы различать их. Установите его в начале, а затем вы можете проверить его.