2013-04-26 45 views
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個表單)?

+0

嘗試重寫OnActivated,然後集中你的文本框(或任何你想做的事)。我現在無法對此進行測試,因此我不會將其作爲答案發布,因爲我不確定它會起作用。如果有效,評論,我會重新發布爲答案。 – Alan 2013-04-28 07:34:43

回答

0

我有同樣的問題一次。

設置tabIndex的控制爲0