Можете ли вы создать операторы switch для изменения текстовых полей?
Привет
Я пытаюсь создать программу, которая при нажатии кнопки " ОК " переместится в следующее текстовое поле. Я думал,что смогу сделать это с помощью операторов if и первого оператора if, однако при добавлении второго и третьего операторов if решение развалилось.
Что мне нужно, так это способ эмулировать "break;" в операторе switch или, еще лучше, преобразовать мои " if " в "switches". Я попытался сделать это, но я не знаю, какую переменную я должен поместить в скобку переключателя, так как "Textbox" является типом и поэтому недопустим в требуемом мне контексте.
Если у кого-то есть какие-либо идеи о том, как я мог бы исправить это или обойти это, я был бы благодарен за любую помощь, которую вы могли бы предложить.
Спасибо.
Что я уже пробовал:
текущий код:
private void btn_OK_Click(object sender, EventArgs e) { if (txt_Hours.Enabled == true) { txt_Hours.Enabled = false; txt_Minutes.Enabled = true; txt_Seconds.Enabled = false; } if (txt_Minutes.Enabled == true) { txt_Hours.Enabled = false; txt_Minutes.Enabled = false; txt_Seconds.Enabled = true; } if (txt_Seconds.Enabled == true) { txt_Hours.Enabled = false; txt_Minutes.Enabled = false; txt_Seconds.Enabled = false; }
попытка кодирования:
private void btn_OK_Click(object sender, EventArgs e) { switch (TextBox) { case txt_Hours.Enabled == true: txt_Hours.Enabled = false; txt_Minutes.Enabled = true; txt_Seconds.Enabled = false; break; case txt_Minutes.Enabled = true: txt_Hours.Enabled = false; txt_Minutes.Enabled = false; txt_Seconds.Enabled = true; break; case txt_Seconds.Enabled = true: txt_Hours.Enabled = false; txt_Minutes.Enabled = false; txt_Seconds.Enabled = false; break; }
Richard MacCutchan
Почему вы возитесь с несколькими текстовыми полями? Используйте одну коробку в течение всего времени, или еще лучше используйте стандартный элемент управления: Как: отображение времени с помощью элемента управления DateTimePicker[^].