Установите фокус на текстовое поле /combobox в winforms, если оно пустое
мне нужно знать,как я могу сделать это для каждого элемента управления, такого как textbox и combobox, есть ли способ заставить каждую клавишу tab нажимать и проверять, пуст ли элемент управления или нет, а затем сосредоточиться на нем. и при щелчке мыши также проверьте, что выбранный элемент управления пуст или нет, если он пуст, то также сосредоточьтесь на нем
Что я уже пробовал:
//protected override bool ProcessTabKey(bool forward) //{ // Control ctl = this.ActiveControl; // if (ctl != null && ctl is ComboBox) // { // ComboBox cb = (ComboBox)ctl; // if (cb.Text.Length == 0) // return true; // } // if (ctl != null && ctl is TextBox) // { // if (txtDocumentNo.Text.Length == 0) // return true; // } // return base.ProcessTabKey(forward); // process TAB key as normal //}
Richard MacCutchan
Этот код даже не будет компилироваться, так как все это закомментировано. Попробуйте скомпилировать его, а затем объясните, что происходит при запуске приложения.
Member 13750004
Да, это работает, но это не может работать для щелчка мыши, если я нажимаю на любой другой элемент управления, который выбирается щелчком мыши
Richard MacCutchan
Вам нужно показать код и объяснить, что именно происходит.
[no name]
Если этот код работает, пробовали ли вы вызывать этот метод для событий мыши?
j snooze
почему бы вам не сделать то, что вы делаете с полем со списком в текстовом поле? Разве вы не предпочли бы иметь его
Textbox tx = (текстовое поле)ctl;
if (tx.Text.Length == 0)....
Почему у вас есть конкретное имя текстового поля?
BillWoodruff
Вам нужно описать свою цель более подробно.