每次聚焦文本框时如何打开表单?
How can i open a form everytime a textbox is focused?
我正在开发触摸屏显示器的键盘,我需要知道如何编写通用代码,以便每次聚焦任何文本框时,都会打开表单(键盘)。我知道我可以把每个文本框的事件焦点放在一起,但我想做一个通用代码。我正在使用 WCE8 和 .net compact framework 3.5。
您可以创建自己的自定义控件并覆盖 OnGotFocus
函数
public partial class FocusTextBox : TextBox {
public FocusTextBox() {}
protected override void OnGotFocus(EventArgs e) {
// Your code to open the keyboard here
base.OnGotFocus(e);
}
}
您可以在您的控件中找到所有控件类型的文本框,并为它们提供带有 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();
}
这样,每次你选中任何一个文本框,它都会打开第二个表单,希望对你有所帮助。
我正在开发触摸屏显示器的键盘,我需要知道如何编写通用代码,以便每次聚焦任何文本框时,都会打开表单(键盘)。我知道我可以把每个文本框的事件焦点放在一起,但我想做一个通用代码。我正在使用 WCE8 和 .net compact framework 3.5。
您可以创建自己的自定义控件并覆盖 OnGotFocus
函数
public partial class FocusTextBox : TextBox {
public FocusTextBox() {}
protected override void OnGotFocus(EventArgs e) {
// Your code to open the keyboard here
base.OnGotFocus(e);
}
}
您可以在您的控件中找到所有控件类型的文本框,并为它们提供带有 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();
}
这样,每次你选中任何一个文本框,它都会打开第二个表单,希望对你有所帮助。