วิธีที่ 1 ที่ Procedure : InputLanguageChange
Private Sub Form1_InputLanguageChanged _
(ByVal sender As Object, ByVal e As _
System.Windows.Forms.InputLanguageChangedEventArgs) _
Handles Me.InputLanguageChanged
Label1.Text = InputLanguage.CurrentInputLanguage.Culture.DisplayName.ToString
End Sub
ที่ Procedure : Load
Private Sub Form1_Load _
(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
Label1.Text = InputLanguage.CurrentInputLanguage.Culture.DisplayName.ToString
End Sub
วิธีที่ 2
อาศัยเรียกใช้จาก user32
ให้ทำการ Import คลาสเข้ามาใช้งาน
Imports System.Runtime.InteropServicesจากนั้นสร้าง Function ชื่อ GetKeyBoardLayoutName
ที่ Procedure : InputLanguageChange_ Private Shared Function GetKeyboardLayoutName _ (ByVal sb As System.Text.StringBuilder) As Integer 'ไม่ต้องใส่อะไร End Function
Private Sub Form1_InputLanguageChanged _
(ByVal sender As Object, ByVal e As _
System.Windows.Forms.InputLanguageChangedEventArgs) _
Handles Me.InputLanguageChanged
Dim sb As New System.Text.StringBuilder(" "c, 256)
Dim len As Integer
len = GetKeyboardLayoutName(sb)
Label1.Text = sb.ToString
End Sub
ที่ Procedure : Load
Private Sub Form1_Load _
(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
Dim sb As New System.Text.StringBuilder(" "c, 256)
Dim len As Integer
len = GetKeyboardLayoutName(sb)
Label1.Text = sb.ToString
End Sub
สำหรับวิธีที่ 2 การแสดงผลจะเป็นรหัส เช่น
' ไทย -- 0000041E
' English -- 00000409
หวังว่าคงเป็นประโยชน์....
สวัสดี คนไทยไม่ทิ้งกัน


