2012-09-05 4 views
1

Я хочу, чтобы получить текущий язык клавиатуры от языковой панели:Как получить текущий язык клавиатуры?

Я хочу сделать это в режиме реального времени. Как?



Edit: форма нагрузки:

Timer1.Start() 


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

таймер:

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

MyCurrentInputLanguage() 

end sub 

как я могу Обновит e my textbox, когда пользователь нажимает «Alt + Shift»?

ответ

1

InputLanguage.CurrentInputLanguage. Ссылка на MSDN дает следующий пример:

CurrLang = InputLanguage.CurrentInputLanguage 

Вот подробности относительно InputLanguage.

Вы можете обнаружить изменение во время выполнения (без использования таймера), используя событие Form.InputLanguageChanged. (Пример из MSDN ссылки процитированы.)

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 

(спасибо HansPassant за информацию.)

+0

я попробовал этот код, я поставил код в событие таймера и когда я изменить язык мой лейбл остается с такое же содержимое. посмотрите на мое редактирование. – nnn

+0

Я хочу получить текущий languege в реальном времени и обновить свою метку, если пользователь изменил язык Alt + Shit. – nnn

+0

Это изменение влияет только на текущий поток, который запущен, и те, которые были запущены после него. У меня нет информации о том, как обновить ее после того, как ваш код уже запущен - извините. –

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