06-10-12, 09:33 PM
الآن سنكتب تلميحة لنجعل الاداة أكثر حيوية
ولنفرض أنك وضعت فى الأدة أقل = -100 وأكبر حد = 100
تريد ان المستخدم عندما يضغط PageUp يقوم الرقم بالزيادة بمعدل 5
وعندما يضغط PageDown يقوم النقصان بمعدل 5
لنقوم بالمثال التالي :
سنقوم بتعريف ثابت ونضغه فى القسم العام للفورم
فى حدث Load للفورم ينقوم بضبط خصائص الأداة - هذا لو انت لم تضبطها من نافذة الخصائص
فى حدث KeyDown للأداة سنكتب الكود التالي :
الكود واضح ومعالج فى حالة أن عملية الزيادة او النقصان تتخطى الحد الاعلى والأدنى
ولنفرض أنك وضعت فى الأدة أقل = -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الكود واضح ومعالج فى حالة أن عملية الزيادة او النقصان تتخطى الحد الاعلى والأدنى
