2009-05-28 8 views
0

Un problème est survenu lors du réglage du focus dans une zone de texte. Je cours la même application sur Windows Ce et Windows Mobile 5 et le problème est seulement sur WinCE. Sur un formulaire j'ai un contrôle personnalisé (disons un DropDown personnalisé) et une zone de texte, après qu'un élément est sélectionné dans le contrôle personnalisé je veux passer le focus à la zone de texte.Zone de texte Windows CE Problème de mise au point

Le code ressemble à ceci:

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

Je ne peux pas comprendre ce qui vole l'accent sur WinCe.

+2

Appelez GetFocus pour savoir où se trouve le focus. – ctacke

+0

.Focus() devrait fonctionner. Êtes-vous sûr qu'aucun programme ne fonctionne en arrière-plan? –

Répondre

0

Je suppose que la liste reprend le focus après avoir appelé l'événement. Peut-être que cela aiderait à appeler l'appel à txtTabValue.Focus() dans un thread distinct qui attend juste quelques millisecondes, puis appelle txtTabValue.Focus() dans le contexte de thread du formulaire? Cela semble un peu exagéré, mais cela pourrait fonctionner - des choses étranges se produisent lors de l'utilisation du Compact Framework ;-)

Questions connexes