2

言語バーから現在のキーボード言語を取得したい:

リアルタイムでやりたい。どのように?



編集: フォームの読み込み:

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

ユーザーが「Alt+Shift」を押したときにテキストボックスを更新するにはどうすればよいですか?

4

1 に答える 1

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に感謝します。)

于 2012-09-05T18:20:15.067 に答える