Как я могу открыть форму каждый раз, когда текстовое поле сфокусировано? - PullRequest
0 голосов
/ 24 августа 2018

Я разрабатываю клавиатуру для сенсорного дисплея, мне нужно знать, как я могу запрограммировать общий код, который каждый раз, когда фокусируется любое текстовое поле, открывает форму (клавиатуру).Я знаю, что могу поместить в фокус каждого события текстовое поле, но я хочу сделать общий код.Я работаю с WCE8 и .net Compact Framework 3.5.

Ответы [ 2 ]

0 голосов
/ 24 августа 2018

Вы можете найти все текстовые поля типа элемента управления в вашем элементе управления и дать им событие click с foreach, например,

foreach(Control ctrl in panel1.Controls)
        {
            if(ctrl is TextBox)
            {
                ctrl.Click += new EventHandler(OpenSecondForm_Click); 
            }
        }

private void OpenSecondForm_Click(object sender, EventArgs e)
    {
        Form2 form = new Form2();
        form.Show();
    }

, таким образом, каждый раз, когда вы фокусируете любое текстовое поле, оно открываетя надеюсь, что это поможет вам.

0 голосов
/ 24 августа 2018

Вы можете создать свой собственный элемент управления и переопределить функцию OnGotFocus

public partial class FocusTextBox : TextBox {
    public FocusTextBox() {}

    protected override void OnGotFocus(EventArgs e) {
        // Your code to open the keyboard here

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