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

ولنفرض أنك وضعت فى الأدة أقل = -100 وأكبر حد = 100

تريد ان المستخدم عندما يضغط PageUp يقوم الرقم بالزيادة بمعدل 5

وعندما يضغط PageDown يقوم النقصان بمعدل 5


لنقوم بالمثال التالي :


سنقوم بتعريف ثابت ونضغه فى القسم العام للفورم
كود :
Private Const intStep As Integer = 5

فى حدث Load للفورم ينقوم بضبط خصائص الأداة - هذا لو انت لم تضبطها من نافذة الخصائص

كود :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        NumericUpDown1.Value = 0
        NumericUpDown1.Increment = 1
        NumericUpDown1.Minimum = -100
        NumericUpDown1.Maximum = 100
    End Sub

فى حدث KeyDown للأداة سنكتب الكود التالي :

كود :
Private Sub NumericUpDown1_KeyDown(ByVal sender As System.Object, _
        ByVal e As System.Windows.Forms.KeyEventArgs) _
        Handles NumericUpDown1.KeyDown

        ' فى حالة PageUp
        If e.KeyCode = Keys.PageUp Then

            ' فى حالة لو الحد الاعلى - الثابت أكبر أو يساوى القيمة الحالية
            If NumericUpDown1.Maximum - intStep >= NumericUpDown1.Value Then

                'لو تحقق الشرط سيقوم بتنفيذ الأمر وهو الزيادة بمعدل الثابت
                'وهذا الشرط ضرورى بحيث لا يعطى خطأ - بتعدى الحد الأعلى
                NumericUpDown1.Value = NumericUpDown1.Value + intStep
            End If

        ElseIf e.KeyCode = Keys.PageDown Then      ' فى حالة PageDown

            ' فى حالة لو الحد الأدني + الثابت أصغر أو يساوى القيمة الحالية

            If NumericUpDown1.Minimum + intStep <= NumericUpDown1.Value Then

                'لو تحقق الشرط سيقوم بتنفيذ الأمر وهو النقصان بمعدل الثابت
                'وهذا الشرط ضرورى بحيث لا يعطى خطأ - بتعدى الحد الأدني

                NumericUpDown1.Value = NumericUpDown1.Value - intStep
            End If

        End If

    End Sub

الكود واضح ومعالج فى حالة أن عملية الزيادة او النقصان تتخطى الحد الاعلى والأدنى
متغيب قليلاً للدراسة Smile
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
معلومة ::: NumericUpDown - بواسطة Blue Sky - 01-10-12, 06:45 PM
معلومة ::: NumericUpDown - بواسطة Blue Sky - 01-10-12, 06:46 PM
معلومة ::: NumericUpDown - بواسطة Blue Sky - 01-10-12, 06:47 PM
معلومة ::: NumericUpDown - بواسطة Blue Sky - 01-10-12, 06:49 PM
معلومة ::: NumericUpDown - بواسطة Blue Sky - 01-10-12, 06:51 PM
معلومة ::: NumericUpDown - بواسطة Blue Sky - 01-10-12, 06:56 PM
معلومة ::: NumericUpDown - بواسطة Blue Sky - 01-10-12, 06:58 PM


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


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