在开发用于触摸屏显示器的键盘时,我需要知道如何编写通用代码,以便每次将任何文本框都聚焦时,都会打开表单(键盘)。我知道我可以将每个文本框的焦点放在事件上,但是我想做一个通用代码。我正在使用WCE8和.net Compact Framework 3.5。
答案 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();
}
这样,每次您将任何文本框作为焦点时,它都会打开第二个表单,希望对您有所帮助。