GotFocus/Activated事件中focus元素的问题



有一个带有text元素的表单每次显示时都应该接收焦点

.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事件

第二次ShowForm: OK too

3)第三次ShowForm: txtTextControl清空,但没有得到焦点

是否有bug或特性?有解决办法吗?我需要重写ShowForm吗?OpenNETCF.IOC.UI是更好的解决方案(项目中有50个表单)吗?

我曾经也有过同样的问题。

设置控件的TabIndex为0

相关内容

  • 没有找到相关文章

最新更新