2012-09-05 6 views
1

Je veux obtenir la langue du clavier en cours dans la barre de langue:Comment obtenir la langue actuelle du clavier?

Je veux le faire en temps réel. Comment?



Edit: sous forme de charge:

Timer1.Start() 


Public Sub MyCurrentInputLanguage() 
    Dim myCurrentLanguage As InputLanguage = InputLanguage.CurrentInputLanguage 
    Me.Text = "Current input language is: " & _ 
     myCurrentLanguage.Culture.EnglishName 
End Sub 

la minuterie:

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 

MyCurrentInputLanguage() 

end sub 

comment puis-je updat e ma zone de texte lorsque l'utilisateur appuie sur "Alt + Shift"?

Répondre

1

Utilisez InputLanguage.CurrentInputLanguage. Le lien à MSDN donne cet exemple:

CurrLang = InputLanguage.CurrentInputLanguage 

Voici les détails concernant InputLanguage.

Vous pouvez détecter la modification au moment de l'exécution (sans utiliser de minuteur) à l'aide de l'événement Form.InputLanguageChanged. (Exemple de lien MSDN cité.)

Private Sub Form1_InputLanguageChanged(sender as Object, e as InputLanguageChangedEventArgs) _ 
    Handles Form1.InputLanguageChanged 

    Dim messageBoxVB as New System.Text.StringBuilder() 
    messageBoxVB.AppendFormat("{0} = {1}", "InputLanguage", e.InputLanguage) 
    messageBoxVB.AppendLine() 
    messageBoxVB.AppendFormat("{0} = {1}", "Culture", e.Culture) 
    messageBoxVB.AppendLine() 
    messageBoxVB.AppendFormat("{0} = {1}", "CharSet", e.CharSet) 
    messageBoxVB.AppendLine() 
    MessageBox.Show(messageBoxVB.ToString(),"InputLanguageChanged Event") 

End Sub 

(Merci à HansPassant pour l'info.)

+0

j'ai essayé ce code, je mets le code dans l'événement de la minuterie et quand je changer la langue de mon étiquette reste la même contenu. regarde mon edit. – nnn

+0

je veux obtenir la languege actuelle en temps réel et mettre à jour mon label si l'utilisateur a changé la langue par Alt + Shit. – nnn

+0

La modification affecte uniquement le thread en cours d'exécution et ceux qui ont démarré après. Je n'ai aucune information disponible sur la façon de mettre à jour après que votre code a déjà commencé à courir - désolé. –

Questions connexes