每当文本框处于焦点状态时,如何打开表单?

时间:2018-08-24 12:39:00

标签: c# forms visual-studio wce

在开发用于触摸屏显示器的键盘时,我需要知道如何编写通用代码,以便每次将任何文本框都聚焦时,都会打开表单(键盘)。我知道我可以将每个文本框的焦点放在事件上,但是我想做一个通用代码。我正在使用WCE8​​和.net Compact Framework 3.5。

2 个答案:

答案 0 :(得分:2)

您可以创建自己的自定义控件并覆盖OnGotFocus函数

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

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

        base.OnGotFocus(e);
    }
}

答案 1 :(得分:1)

例如,您可以在控件中找到所有控件类型文本框,并为它们提供带有foreach的click事件

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();
    }

这样,每次您将任何文本框作为焦点时,它都会打开第二个表单,希望对您有所帮助。