تقييم الموضوع :
  • 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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة دعم skin للغة العربية مصمم هاوي 2 728 16-09-25, 07:57 AM
آخر رد: مصمم هاوي
  كيف يتم عرض جدول من قائمة listbox في داتاقريدفيو ahmedfa71 5 883 04-09-25, 02:59 PM
آخر رد: ahmedfa71
  كود لتغيير اعدادات اللغة في الويندوز ؟؟ aiman 12 7,992 26-01-25, 08:21 PM
آخر رد: mefof
Exclamation [VB.NET] ممكن عمل كود لحفظ المكتوب داخل اداة TextBox الورد الصناعي 9 817 17-10-24, 11:43 PM
آخر رد: salamandal
  [VB.NET] كيف أجعل الأداة Listbox تعرض عمودين بدل عمود واحد mmaalmesry 6 490 15-10-24, 11:05 AM
آخر رد: Taha Okla
  المساعدة في عملية طرح الوقت من خلال اثنين textbox جيولوجي مبتدئ 9 2,792 06-08-24, 07:43 PM
آخر رد: خالد كامل1
  منع تكرار العناصر في داتا جيرد في حال وجود نفس العنصر والسعر سويا moh61 3 668 19-05-24, 02:40 PM
آخر رد: moh61
  [VB.NET] مشكلة ظهور textbox بعد حذفه من الفورم مبرمج صغير 1 1 593 27-01-24, 02:04 AM
آخر رد: مبرمج صغير 1
  التحقق من خلال محتوى خلية عن طريق textbox صالح عبدالله 2 582 24-01-24, 12:54 PM
آخر رد: صالح عبدالله
  [VB.NET] استدعاء بيانات في TextBox بناء على combobox loay775 2 708 18-01-24, 05:07 PM
آخر رد: loay775

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


يقوم بقرائة الموضوع: