2013-04-26 2 views
0

Существует форма с текстовым элементом, который должен получать фокус каждый раз, когда отображается форма.Проблема с элементом фокусировки в GotFocus/Активированное событие

В форме .NET CF не имеет OnShow (п) событие

Я пытаюсь использовать обходной путь:

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

ответ

0

У меня был тот же вопрос один раз.

Установите TabIndex для управления 0.

 Смежные вопросы

  • Нет связанных вопросов^_^