วิธีที่ 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 หวังว่าคงเป็นประโยชน์.... สวัสดี คนไทยไม่ทิ้งกัน