2009-05-28 12 views
0

Ich habe ein Problem, den Fokus zurück auf ein Textfeld zu setzen. Ich benutze die gleiche Anwendung sowohl auf Windows Ce und Windows Mobile 5 und das Problem ist nur auf WinCE. Auf einem Formular habe ich ein benutzerdefiniertes Steuerelement (sagen wir ein benutzerdefiniertes DropDown) und ein Textfeld, nachdem ein Element im benutzerdefinierten Steuerelement ausgewählt ist, ich den Fokus zurück an das Textfeld übergeben möchte.Windows CE-Textfeld Fokusproblem

Der Code sieht wie folgt aus:

private void ddlCurrencyList_SelectedItemChanged(object sender, SelectedItemArgs e) 
{ 
    _selectedCurrency = CurrencyCollection.Find(ddlCurrencyList.SelectedValue); 
    txtTabValue.Focus(); //does not work on Win CE. 
} 

ich nicht herausfinden können, was den Fokus auf WinCe stiehlt.

+2

Rufen Sie GetFocus an, um herauszufinden, wo der Fokus liegt. – ctacke

+0

.Focus() sollte funktionieren. Sind Sie sicher, dass im Hintergrund keine Programme laufen? –

Antwort

0

Ich würde vermuten, dass die Liste den Fokus nach dem Aufruf des Ereignisses wieder erlangt. Vielleicht würde es helfen, den Aufruf an txtTabValue.Focus() in einem separaten Thread aufzurufen, der nur ein paar Millisekunden wartet und dann ruft txtTabValue.Focus() im Thread-Kontext des Formulars? Scheint etwas übertrieben, könnte aber funktionieren - bei Verwendung des Compact Framework passieren seltsame Dinge ;-)

Verwandte Themen