0
每次顯示的表單都有應接收焦點的文本元素。GotFocus/Activated事件中焦點元素的問題
在.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(表單實例已創建):txtTextControl清空並獲得焦點,txtTextControl_GotFocus事件引發
2)第二次ShowForm:OK太
3)第三次ShowForm:txtTextControl走光,但沒有得到關注
是否有錯誤或意見?有解決方法嗎?顯示我重寫ShowForm? OpenNETCF.IOC.UI是更好的解決方案(項目中有50個表單)?
嘗試重寫OnActivated,然後集中你的文本框(或任何你想做的事)。我現在無法對此進行測試,因此我不會將其作爲答案發布,因爲我不確定它會起作用。如果有效,評論,我會重新發布爲答案。 – Alan 2013-04-28 07:34:43