PDA

View Full Version : تغییر زبان نوشتن در داخل تکست باکس ...



s_mostafa_h
شنبه 19 خرداد 1386, 09:35 صبح
با سلام
می خواهم کاربر بدون گرفتن و استفاده از کلید کنترلی alt+shift برای تغییر زبان برای نوشتن داخل باکس ، مثلا در باکس textbox1زبان فارسی تایپ شودو در داخل باکس textbox2زبان انگلیسی تایپ شود ( بدون اینکه کاربر مجبور شود از Alt+shift استفاده کند ) .
متشکرم

iranrose63
شنبه 19 خرداد 1386, 09:53 صبح
کافیه تو Event Enter تکست باکسی که می خوای فارسی بنویسه کد زیر رو بنویسی

System.Globalization.CultureInfo inp = new System.Globalization.CultureInfo("fa-IR");
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(inp);
و تو Event Enter تکست باکسی که می خوای انگلیسی باشه بنویسی

System.Globalization.CultureInfo inp = new System.Globalization.CultureInfo("en-US");
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(inp);

golgoli
شنبه 19 خرداد 1386, 10:22 صبح
دوست عزیز !
با استفاده از توابع API ویندوز می تونی این کار رو انجام بدی:


Private Declare Function LoadKeyboardLayout Lib "user32" Alias
"LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long

Private Sub Text1_GotFocus()
a = LoadKeyboardLayout("00000409", &H1) 'En
End Sub
Private Sub Text2_GotFocus()
a = LoadKeyboardLayout("00000401", &H1) 'Fa
End Sub

فایل ضمیمه رو دانلود کن !

golgoli
شنبه 19 خرداد 1386, 10:27 صبح
دوست عزیز !
با استفاده از توابع API ویندوز می تونی این کار رو انجام بدی:


Private Declare Function LoadKeyboardLayout Lib "user32" Alias
"LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long

Private Sub Text1_GotFocus()
a = LoadKeyboardLayout("00000409", &H1) 'En
End Sub
Private Sub Text2_GotFocus()
a = LoadKeyboardLayout("00000401", &H1) 'Fa
End Sub

فایل ضمیمه رو دانلود کن !

reza.palang
شنبه 19 خرداد 1386, 10:44 صبح
اقای دکتر گل گلی. اول اینکه دستتون درد نکنه به خاطر تذکرتون.
اما اینجا بخش #Cهست چراVB؟

s_mostafa_h
شنبه 19 خرداد 1386, 13:37 عصر
با تشکر فراوان از iranrose63