有一个带有文本元素的表单,每次显示时都应该获得焦点。
在.NET中,CF Form没有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(已创建表单实例):txtTextControl清空并获得焦点,txtTextControl_GotFocus事件被提升
2)第二次ShowForm:好的
3)第三次ShowForm:txtTextControl清空,但无法获得焦点
是否有错误或功能?有解决方法吗?显示我重写ShowForm? OpenNETCF.IOC.UI是更好的解决方案(项目中有50个表单)吗?
答案 0 :(得分:0)
我曾经有过同样的问题。
将控件的TabIndex设置为0.