Ну, вы также можете использовать привязку данных ... мне кажется, это немного элегантнее. Предположим, у вас есть две радиокнопки «rbA» и «rbB» и два текстовых поля «txtA» и «txtB». И вы хотите, чтобы txtA был видимым только тогда, когда установлен флажок rbA, а txtB видимым только тогда, когда установлен флажок rbB. Вы можете сделать это так:
private void Form1_Load(object sender, EventArgs e)
{
txtA.DataBindings.Add("Visible", rbA, "Checked");
txtB.DataBindings.Add("Visible", rbB, "Checked");
}
Однако ... Я заметил, что использование UserControls вместо TextBoxes нарушает функциональность, и я должен прочитать в сети, почему ..
ПОСЛЕДНЕЕ РЕДАКТИРОВАНИЕ:
Связывание данных работает в двух направлениях! : Если вы программно установите (откуда-то еще) видимость txtA в false, rbA станет неконтролируемым. В этом прелесть привязки данных.