PDA

View Full Version : سوال: تغییر زبان صفحه کلید در زمان لود شدن فرم



Hadiir.net
دوشنبه 11 شهریور 1398, 02:28 صبح
با سلام، من یه قطعه کد دارم که وقتی فوکوس میره به تکست باکس زبان صفحه کلید از انگلیسی به فارسی تغییر میکنه! حالا همین قطعه کد و که تو فرم لود میذارم عمل نمیکنه، مشکل چیه؟
از وی بی دات نت ۲۰۱۹ استفاده میکنم







Imports System.Globalization


Public Class Form1
Private PersianInput As InputLanguage
Private EnglishInput As InputLanguage
End Class




Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
PersianInput = InputLanguage.CurrentInputLanguage
EnglishInput = InputLanguage.CurrentInputLanguage


Dim count As Integer
count = InputLanguage.InstalledInputLanguages.Count
For i As Integer = 1 To (count - 1)
If InputLanguage.InstalledInputLanguages(i).LayoutNam e.Contains("Persian") = True Then
PersianInput = InputLanguage.InstalledInputLanguages(i)
Else
If InputLanguage.InstalledInputLanguages(i).LayoutNam e.Contains("English") = True Then
EnglishInput = InputLanguage.InstalledInputLanguages(i)
End If
End If
Next i
End Sub

Private Sub FaTextBox_MouseEnter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FaTextBox.MouseEnter
InputLanguage.CurrentInputLanguage = PersianInput
End Sub




Private Sub EnTextBox_MouseEnter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EnTextBox.MouseEnter


InputLanguage.CurrentInputLanguage = EnglishInput


End Sub

safari_m4
سه شنبه 12 شهریور 1398, 22:48 عصر
داخل دو تا ماژول بصورت مجزا این کد ها را قرار بده

کد اول

Module Convert_Persian_To_English
Public Function PersianToEnglish() As Boolean
Dim English As New Globalization.CultureInfo("EN-US")
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(English)


Return True
End Function
End Module

کد دوم

Module Convert_English_To_Persian
Public Function EnglishToPersian() As Boolean
Dim Persian As New Globalization.CultureInfo("FA-IR")
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(Persian)


Return True
End Function


End Module

بعد در فرم لود هر فرمی که خواستی حتی خود فرم اصلی کد زیر را فراخوانی کن

برای فارسی
Call EnglishToPersian()

و برای انگلیسی برعکس بنویس

safari_m4
سه شنبه 12 شهریور 1398, 22:49 عصر
داخل دو تا ماژول بصورت مجزا این کد ها را قرار بده

کد اول

Module Convert_Persian_To_English
Public Function PersianToEnglish() As Boolean
Dim English As New Globalization.CultureInfo("EN-US")
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(English)


Return True
End Function
End Module

کد دوم

Module Convert_English_To_Persian
Public Function EnglishToPersian() As Boolean
Dim Persian As New Globalization.CultureInfo("FA-IR")
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(Persian)


Return True
End Function


End Module

بعد در فرم لود هر فرمی که خواستی حتی خود فرم اصلی کد زیر را فراخنی کن

برای فارسی
Call EnglishToPersian()

و برای انگلیسی برعکس بنویس