有一个带有文本元素的表单,每次显示表单时都应该获得焦点。
在 .NET CF 表单中没有 OnShow(n) 事件
我尝试使用解决方法:
MyForm_GotFocus() // or MyForm_Activated
{
txtTextControl.Text = string.Empty;
txtTextControl.Focus()
}
txtTextControl_GotFocus()
{
txtTextControl.SelectAll()
}
获取表单实例的代码:
public static MyForm GetForm
{
get
{
if (s_inst == null || s_inst.IsDisposed)
{
s_inst = new MyForm();
}
return s_inst;
}
}
public static void ShowForm()
{
var frm = GetForm;
frm.Show();
}
1)第一次ShowForm(Form实例已创建):txtTextControl清空并获得焦点,txtTextControl_GotFocus事件引发
2) 第二次 ShowForm : OK
3) 第三次 ShowForm : txtTextControl 清空,但没有获得焦点
有错误或功能吗?有解决方法吗?Show 我重写 ShowForm?OpenNETCF.IOC.UI 是更好的解决方案(项目中有 50 个表单)吗?