تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تحسين التعامل مع عناصر النموذج
#1
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته

ارغب في تحسين تعامل المستثمر مع شاشة / ادخال ذاتية / في مثالي المرفق، باتاحة المجال له

1- ان يتم الانتقال من حقل الى اخر من حقول تلك الشاشة عن طريق الضغط على زر Enter

2- كما ارغب بان يتم اظهار حقول الارقام ( هاتف 1 - هاتف 2 - جوال - فاكس ) بالارقام العربية مثل 4555637 وليس
بالارقام الهندية التي من الصعب قراءتها

ارجو تعديل المثال المرفق
والف الف شكر


الملفات المرفقة
.rar   Q02.rar (الحجم : 286.21 ك ب / التحميلات : 30)
الرد }}}}
تم الشكر بواسطة:
#2
للتقل بمفتاح Enter في النافذة
ضع هذه الــ Function في اي مكان في كود الــ Form

كود :
Protected Overrides Function ProcessCmdKey _
       (ByRef msg As System.Windows.Forms.Message, _
       ByVal keyData As System.Windows.Forms.Keys) As Boolean
        If msg.WParam.ToInt32() = CInt(Keys.Enter) Then
            SendKeys.Send("{Tab}")
            Return True
        End If
        Return MyBase.ProcessCmdKey(msg, keyData)
    End Function
Smile:eek:Smile
الرد }}}}
تم الشكر بواسطة:
#3
بالنسبة لكتابة الأرقام بالإنجليزي :
في حدث الـ FormLoad
كود :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.TextBox1.RightToLeft = Windows.Forms.RightToLeft.No
    End Sub
أو يمكنك تغييرها من خصائص مربع النص مباشرة
(وَقُل رَّبِّ زِدْنِي عِلْمًا)

الرد }}}}
تم الشكر بواسطة:
#4
[color="#0000cd"][b]شكرا اخي
kslawy
على ماتفضلت به من جعل كتابة الارقام تاخد شكل العربي ( الاجنبي)

بارك الله فيك
[/b][/color]
الرد }}}}
تم الشكر بواسطة:
#5
ا[b]خي الكريم
Genius Live

ان الكود الذي تفضلت به رائــــــــــــــــع، من اجل جعل التنقل بين الحقول يتم عن طريق الضغط على زر Enter
[COLOR="#B22222"]
[u]ولكن فيه مشكلة خطيرة للغاية
[/u][/COLOR]

وهي عند الوصول الى زر الحفظ، والضغط على زر
enter
المفروض ان يتم حفظ البيانات

ولكن الذي يحدث......
ان الزر لا يستجيب لحدث الحفظ وينتقل الى الزر التالي

[b][SIZE=5]وهذه مشكلة كبيرة

ارجو تعديل الكود في ظل المشكلة المطروحة
والف شكر
[/b][/SIZE][/b]
الرد }}}}
تم الشكر بواسطة:
#6
كود :
Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox4.KeyDown, TextBox3.KeyDown, TextBox2.KeyDown, TextBox1.KeyDown
        If e.KeyCode = Keys.Enter Then
            SendKeys.Send("{Tab}")
        End If
    End Sub

لاحظ للـ Handles اللي في نهاية السطر الأول من الكود تم تجميع جميع أحداث مربعات النصوص (KeyDown) في حدث مربع النص الأول . كان ممكن نضع الكود لكل مربع نص علي حدا ولكن بهذه الطريقة يتم اختصار الأكواد
(وَقُل رَّبِّ زِدْنِي عِلْمًا)

الرد }}}}
تم الشكر بواسطة:
#7
شكرا اخي
kslawy

[HTML]Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox4.KeyDown, TextBox3.KeyDown, TextBox2.KeyDown, TextBox1.KeyDown
If e.KeyCode = Keys.Enter Then
SendKeys.Send("{Tab}")
End If
End Sub[/HTML]

على هذا الكود الرائع، وفعلا هو شعال مائة مائة ولكـــــــــــــــــن
المشكلة انني مضطر ان اضعه في حدث ال Keydown لكافة العناصر المتواجدة على الشاشة، ولكن وجدت الكود الذي تفضل به الاخ Genius_Live
مختصر، اي بمعنى اخر، اقوم باستدعائه مرة واحدة فقط عند تحميل النموذج، ولكن به مشكلة العيب الدي شرحته،

ولا اعرف ان كان يمكن اصلاح كود الاخ Genius_Live يحيث يصبح فعال وعملي !!!!!!!!!!!!!

والف شكر
الرد }}}}
تم الشكر بواسطة:
#8
kafi كتب :شكرا اخي
kslawy

[HTML]Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox4.KeyDown, TextBox3.KeyDown, TextBox2.KeyDown, TextBox1.KeyDown
If e.KeyCode = Keys.Enter Then
SendKeys.Send("{Tab}")
End If
End Sub[/HTML]

على هذا الكود الرائع، وفعلا هو شعال مائة مائة ولكـــــــــــــــــن
المشكلة انني مضطر ان اضعه في حدث ال Keydown لكافة العناصر المتواجدة على الشاشة، ولكن وجدت الكود الذي تفضل به الاخ Genius_Live
مختصر، اي بمعنى اخر، اقوم باستدعيه مرة واحدة فقط عند تحميل النموذج، ولكن به مشكلة العيب الدي شرحته،

ولا اعرف ان كان يمكن اصلاح كود الاخ Genius_Live يحيث يصبح فعال وعملي !!!!!!!!!!!!!

والف شكر

السلام عليكم ورحمة الله وبركاته

تفضل أخي الكريم
هذا تعديل لكود الأخ Genius_Live - من بعد إذنه
كود :
[color=blue][FONT=Consolas]Protected[/FONT][/color][color=#000000][FONT=Consolas] [COLOR=blue]Overrides[/color] [color=blue]Function [/color][/FONT][/COLOR][color=#000000][FONT=Consolas]ProcessCmdKey[/FONT][/color][color=#000000][FONT=Consolas]([/FONT][/color][color=#000000][FONT=Consolas][COLOR=blue]ByRef [/color][/FONT][/COLOR][color=#000000][FONT=Consolas]msg [/FONT][/color][color=blue][FONT=Consolas]As [/FONT][/color][color=#000000][FONT=Consolas]System.Windows.Forms.[/FONT][/color][color=#2B91AF][FONT=Consolas]Message[/FONT][/color][color=#000000][FONT=Consolas], [/FONT][/color][color=#000000][FONT=Consolas][COLOR=blue]ByVal [/color][/FONT][/COLOR][color=#000000][FONT=Consolas]keyData [/FONT][/color][color=blue][FONT=Consolas]As [/FONT][/color][color=#000000][FONT=Consolas]System.Windows.Forms.[/FONT][/color][color=#2B91AF][FONT=Consolas]Keys[/FONT][/color][color=#000000][FONT=Consolas]) [/FONT][/color][color=blue][FONT=Consolas]As [/FONT][/color][COLOR=blue][FONT=Consolas]Boolean
[/FONT][/COLOR][color=blue][FONT=Consolas]If [/FONT][/color][color=#000000][FONT=Consolas]msg.WParam.ToInt32() = [/FONT][/color][color=#0000FF][FONT=Consolas]CInt[/FONT][/color][color=#000000][FONT=Consolas]([/FONT][/color][color=#2B91AF][FONT=Consolas]Keys[/FONT][/color][color=#000000][FONT=Consolas].Enter[/FONT][/color][color=#000000][FONT=Consolas]) [/FONT][/color][color=#0000FF][FONT=Consolas]Then[/FONT][/color]
[color=blue][FONT=Consolas]If [/FONT][/color][color=#000000][FONT=Consolas][COLOR=blue]TypeOf [/color][/FONT][/COLOR][color=#000000][FONT=Consolas][COLOR=blue]Me[/color][/FONT][/COLOR][color=#000000][FONT=Consolas].ActiveControl [/FONT][/color][color=blue][FONT=Consolas]Is [/FONT][/color][color=#2B91AF][FONT=Consolas]Button [/FONT][/color][COLOR=#0000FF][FONT=Consolas]Then
[/FONT][/COLOR][color=blue][FONT=Consolas]Return[/FONT][/color][color=#000000][FONT=Consolas][COLOR=blue]MyBase[/color][/FONT][/COLOR][color=#000000][FONT=Consolas].ProcessCmdKey[/FONT][/color][color=#000000][FONT=Consolas]([/FONT][/color][color=#000000][FONT=Consolas]msg[/FONT][/color][color=#000000][FONT=Consolas], [/FONT][/color][color=#000000][FONT=Consolas]keyData[/FONT][/color][COLOR=#000000][FONT=Consolas])
[/FONT][/COLOR][COLOR=#0000FF][FONT=Consolas]Else
[/FONT][/COLOR][color=#2B91AF][FONT=Consolas]SendKeys[/FONT][/color][color=#000000][FONT=Consolas].Send[/FONT][/color][color=#000000][FONT=Consolas]([/FONT][/color][color=#A31515][FONT=Consolas]"{Tab}"[/FONT][/color][COLOR=#000000][FONT=Consolas])
[/FONT][/COLOR][color=blue][FONT=Consolas]Return[/FONT][/color][COLOR=blue][FONT=Consolas]True
[/FONT][/COLOR][color=blue][FONT=Consolas]End[/FONT][/color][COLOR=blue][FONT=Consolas]If
[/FONT][/COLOR][color=blue][FONT=Consolas]End[/FONT][/color][COLOR=blue][FONT=Consolas]If
[/FONT][/COLOR][color=blue][FONT=Consolas]Return[/FONT][/color][color=#000000][FONT=Consolas][COLOR=blue]MyBase[/color].ProcessCmdKey[/FONT][/COLOR][color=#000000][FONT=Consolas]([/FONT][/color][color=#000000][FONT=Consolas]msg[/FONT][/color][color=#000000][FONT=Consolas], [/FONT][/color][color=#000000][FONT=Consolas]keyData[/FONT][/color][COLOR=#000000][FONT=Consolas])
[/FONT][/COLOR][color=blue][FONT=Consolas]End[/FONT][/color][color=#000000][FONT=Consolas] [COLOR=blue]Function[/color][/FONT][/COLOR]

بالتوفيق
الرد }}}}
تم الشكر بواسطة:
#9
عفوا الأكواد ظهرت بشكل غير صحيح
وهذا هو التصحيح

كود :
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
        If msg.WParam.ToInt32() = CInt(Keys.Enter) Then
            If TypeOf Me.ActiveControl Is Button Then
                Return MyBase.ProcessCmdKey(msg, keyData)
            Else
                SendKeys.Send("{Tab}")
                Return True
            End If
        End If
        Return MyBase.ProcessCmdKey(msg, keyData)
    End Function

بالتوفيق
الرد }}}}
تم الشكر بواسطة:
#10
شكرا اخي
soriaty على اجابتك

ولكن بعد نسخ الكود...
وعند معالجة البرنامج

[ATTACH=CONFIG]3226[/ATTACH] ظهر وجود رسالة خطأ
ReturnMybass is not declare

اعمل على ( win8 - visual 12)


الملفات المرفقة صورة/صور
   
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] التعامل مع الباركود حروف وأرقام ..؟ adel27 5 121 21-11-16, 10:45 PM
آخر رد: محمود بكرى
  [سؤال] التعامل مع الزر الموجود في DataGrideView هل يستطيع حذف الصف الذي به البتن thevirus 1 108 10-11-16, 09:20 PM
آخر رد: ابراهيم النعيمي
  [سؤال] هل يمكن عرض عناصر الكومبوبوكس عن طريق الكود ؟؟؟؟؟؟؟؟؟؟؟؟ thevirus 1 104 10-11-16, 06:25 PM
آخر رد: أبو عمر
  [VB.NET] كيفية التعامل مع العلاقات برمجياً ؟؟؟؟ thevirus 4 151 06-11-16, 08:22 PM
آخر رد: thevirus
  اريد مساعدة في التعامل مع هذا الموقع بالفيجوال بيسك soper 2 86 03-11-16, 07:08 PM
آخر رد: soper
Lightbulb [VB.NET] سؤال حول التعامل مع الماسح الضوئي salhigc 3 124 02-11-16, 04:15 PM
آخر رد: salhigc
  التعامل مع المجلد المنشأ adel27 7 123 31-10-16, 02:31 PM
آخر رد: adel27
  التعامل مع التواريخ الهجريه adel27 6 130 11-10-16, 07:16 PM
آخر رد: adel27
  [سؤال] طريقة التعامل مع السلاسل والنصوص saad mahyoub 4 187 26-09-16, 10:36 PM
آخر رد: saad mahyoub
  [VB.NET] سؤال بخصوص التعامل مع الصور 0theghost0 3 193 30-08-16, 07:10 PM
آخر رد: 0theghost0

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


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