السلام عليكم ورحمة الله وبركاته
أخي الكريم قم بإضافة Module إلى المشروع
ومن ثم قم بلصق الكود التالي داخله
كود :
Module MyFunctions
''' <summary>
''' Type the language you want for change the language
''' </summary>
Public Enum Language As Byte
English = 0
Arabic = 1
End Enum
''' <summary>
''' Change the Language of Keyboard By Name
''' </summary>
''' <param name="CultureName">put "en-US" to get english or put "ar-SA" to get arabic</param>
Public Sub SetKeyboardLanguage(ByVal CultureName As String)
Dim MyLang As New System.Globalization.CultureInfo(CultureName)
Dim InLang As InputLanguage = InputLanguage.FromCulture(MyLang)
InputLanguage.CurrentInputLanguage = InLang
End Sub
''' <summary>
''' Change the Language of Keyboard By ID
''' </summary>
''' <param name="CultureNumber">put 0 to get english or put 1 to get arabic</param>
Public Sub SetKeyboardLanguageByID(ByVal CultureNumber As Language)
Dim InLang As InputLanguage = InputLanguage.InstalledInputLanguages.Item(CultureNumber)
InputLanguage.CurrentInputLanguage = InLang
End Sub
End Module
الآن لنفترض أن لديك أداتين TextBox باسم TextBox1 و TextBox2
مربع النص الأول يطلب من المستخدم الاسم العربي ومربع النص الثاني يطلب الاسم الانجليزي
وحتى تسهل العملية على المستخدم سوف تقوم بتغيير اللغة بشكل تلقائي
وهذه هي الطريقة (هذه الطريقة عن طريق إدخال اسم اللغة مباشرة)
كود :
Public Class Form1
Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus
SetKeyboardLanguage("ar-SA")
End Sub
Private Sub TextBox2_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2.GotFocus
SetKeyboardLanguage("en-US")
End Sub
End Class
والآن جرب الانتقال بين مربعي النص وقم بالكتابة ولاحظ النتيجة .....!
بالتوفيق