Существует форма с текстовым элементом, который должен получать фокус каждый раз, когда отображается форма.Проблема с элементом фокусировки в 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 форм в проекте)?
Попробуйте перекрывая OnActivated, а затем фокусируя свое текстовое поле (или все, что вы хотите сделать). Мне не нужно проверять это прямо сейчас, поэтому я не буду публиковать его как ответ, потому что не знаю точно, что он сработает. Если это сработает, прокомментируйте, и я отправлю сообщение в качестве ответа. – Alan