تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيف نجعل العناصر ( Textbox>>>listbox) تأخذ اللغة العربية ؟
#11
اخى الكريم

بالرغم انى لم افهم المطلوب بشكل جيد ولكن اعتقد انك تريد ان تجعل لغة الكتابه فى اكثر من فورم (او اكثر من اداه... مثل تكست بوكس ...وغيره)
عموما يمكنك ان تتبع الاتى وتخبرنى بالنتيجه

أضف موديول وضع هذا الكود فى داخله

PHP كود :
Module Module1
    
Public Declare Function loadkb Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As StringByVal Flags As Long) As Long
    
Public Sub toAr()
        
loadkb("00000401", &H2)
        
Dim arlang As New System.Globalization.CultureInfo("ar")
        
InputLanguage.CurrentInputLanguage InputLanguage.FromCulture(arlang)
    
End Sub
    
Public Sub toEn()
        
Dim enlang As New System.Globalization.CultureInfo("en")
        
InputLanguage.CurrentInputLanguage InputLanguage.FromCulture(enlang)
    
End Sub
End Module 

الان
اذا كنت تريد ان تكون لغة الادخال فى كل الادوات على الفورم هى اللغه العربيه .... فقط ضع هذا الكود فى حدث تحميل الفورم
وطبعا يمكنك وضع هذا الكود فى اى فورم تريد (بمعنى انك يمكنك ان تضعه فى حدث التحميل لكل فورم تريد ان تكون لغة الادخال فيه هى اللغه العربيه )

PHP كود :
Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        toAr
()
    
End Sub 

ويمكنك إستثناء بعض الادوات التى تريد ان تكون لغة الادخال فيها هى اللغه الانجليزيه ...بوضع هذا الكود فى حدث ال GotFocus للاداه اللتى تريدها
PHP كود :
Private Sub TextBox2_GotFocus(ByVal sender As ObjectByVal e As System.EventArgsHandles TextBox2.GotFocus
        toEn
()
    
End Sub 

اما اذا كنت تريد ان تحدد بعض الادوات على الفورم لتكون لغة الادخال فيها هى (اللغه العربيه ....مثلا) يمكنك ذلك بتجميع الادوات اللتى تريدها فى حدث واحد ... مثل هذا الكود

PHP كود :
Private Sub TextBox1_GotFocus(ByVal sender As ObjectByVal e As System.EventArgsHandles TextBox1.GotFocusRichTextBox1.GotFocusMaskedTextBox1.GotFocusListBox1.GotFocusComboBox1.GotFocus
            toAr
()
    
End Sub 

لاحظ بعد كلمة Handles لقد اضفت بعض الادوات فى حدث واحد
(وللامانه العلميه هذه الطريقه ماكنت اعرفها قبل ان يشرحها اخى وصديقى sooriaty03 فى مشاركات سابقه.... بارك الله فيه وفى امثاله)

واذا كنت تريد ان تتأكد ان لغة الادخال الحاليه ليست اللغه العربيه قبل التغيير يمكنك بهذه الطريقه

PHP كود :
If Not InputLanguage.CurrentInputLanguage.Culture.Name.Contains("ar"Then
            toAr
()
        
End If 

او الانجليزيه

PHP كود :
If InputLanguage.CurrentInputLanguage.Culture.Name.Contains("ar"Then
            toEn
()
        
End If 

اتمنى ان اكون وفقت فى فهم المقصود

بالتوفيق للجميع ان شاء الله
"الناس نيام فإذا ماتوا إنتبهوا"
الرد }}}
تم الشكر بواسطة:
#12
[COLOR="#000080"]شكرا اخي
learning_Net
على ما تفضلت به

اكواد تبدو التعامل معها سهل وواضح،

[b]ولكــــــــــــــــــــــــــــن عند التجريب على مثالي ( اعمل على ونيدوز 8 _ فيجوال 12) لم تعمل تلك الاكواد التي تفضلت بها


واعطت رسالة خطاً كمايلي
[/COLOR][/b]


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:
#13
اخى
الصوره غير واضحه تماما
"الناس نيام فإذا ماتوا إنتبهوا"
الرد }}}
تم الشكر بواسطة:
#14
شكرا اخي
learning.net
على تواصلك

كما اسلفت فان الكود، لم يعمل وتظهر رسالة خطأ
العمل على ( win8 + visual 12(

فيما يلي صورة اوضح للخطأ

[ATTACH=CONFIG]3225[/ATTACH]


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:
#15
والله شباب نورتونا
من أول و أنا أعاني من هذه المشكله بس أبجرب هالأكواد
الرد }}}
تم الشكر بواسطة:
#16
اخى الكريم

انا ليس لدى ويندوز 8 ولا حتى فيجوال ستوديو 2012 Big Grin

ملحوظه:-
الكود الذى وضعته لك يغير الى اللغه العربيه حتى ولو كانت غير مثبته على الجهاز.

يمكنك مسح عن هذين السطرين

PHP كود :
Public Declare Function loadkb Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As StringByVal Flags As Long) As Long 
و

PHP كود :
loadkb("00000401", &H2

وسيعمل معك البرنامج بشكل جيد ان شاء الله

اما اذا كنت تريد حل المشكله فيمكنك تجربة احدى هذه الطرق:

الطريقه الاولى
فى السطر
PHP كود :
Public Declare Function loadkb Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As StringByVal Flags As Long) As Long 
غير long الى integer ليصبح هكذا
PHP كود :
Public Declare Function loadkb Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As StringByVal Flags As Integer) As Integer 


الطريقه الثانيه
اضغط على CTRL + ALT + E ستظهر لك قائمه... من القائمه على الشمال اضغط على علامة "+" بجانب Managed Debugging Assistants
امسح علامة صح الموجوده امام PInvokeStackImbalance
ثم ok

جرب واخبرنى بالنتيجه
وبالتوفيق ان شاء الله
"الناس نيام فإذا ماتوا إنتبهوا"
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] مشكلة ظهور textbox بعد حذفه من الفورم مبرمج صغير 1 1 231 27-01-24, 02:04 AM
آخر رد: مبرمج صغير 1
  التحقق من خلال محتوى خلية عن طريق textbox صالح عبدالله 2 224 24-01-24, 12:54 PM
آخر رد: صالح عبدالله
  [VB.NET] استدعاء بيانات في TextBox بناء على combobox loay775 2 277 18-01-24, 05:07 PM
آخر رد: loay775
  إدخال معادلة رياضية في textBox وبرمجة حلها؟ الخير19 3 302 03-01-24, 04:19 PM
آخر رد: الخير19
  [VB.NET] listbox تلوين عدد من هذه الأسماء mervandz 3 425 18-11-23, 01:35 AM
آخر رد: sniper2030
Information [VB.NET] حذف كل العناصر التي تاتي بعد عنصر الذي احدده listbox mervandz 3 290 10-11-23, 07:12 PM
آخر رد: justforit
  كيف أقوم بنقل محتويات checkedListbox إلى Textbox ؟ صالح عبدالله 4 535 16-09-23, 10:51 AM
آخر رد: أبو خالد الشكري
  textbox aymen_libya 11 1,555 23-08-23, 12:20 PM
آخر رد: ahmed_king2023
Photo [سؤال] تجميع قيم العناصر المتشابهة في الداتا جريد فيو علاء الكبابي 6 584 13-08-23, 01:00 PM
آخر رد: تركي الحلواني
  كيفية نقل بيانات من Textbox الى الجريدفيو بالترتيب؟؟ abu7shihab 4 537 25-07-23, 09:46 PM
آخر رد: aljzazy

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم