تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
معلومة ::: NumericUpDown
#1
كاتب الموضوع : BADRMEDIA



الأداة NumericUpDown :

أداة جميلة فى ادخال الأرقام بحيث تحصر المستخدم بان يقوم بالادخال فى اطار محدد

سنتعرف على أهم خصائصها بعد أن ندرجها من قائمة الأدوات Tool Box

نقوم بادراجها ونذهب إلى نافذة خصائص الأداة :

هناك خاصيتان مسئولتان عن بداية الادخال ونهاية الادخال وهما :

Minimum : وهو أقل رقم يمكن ادخاله

Maximum : أكبر رقم يمكن ادخاله

وهذا يتم تعديله من نافذة الخصائص

أو بالكود من هذه الخصائص للأداة :


كود :
NumericUpDown1.Minimum = -100

NumericUpDown1.Maximum = 100

}}}
تم الشكر بواسطة:
#2
لقد وضعنا حد اعلى أدنى للأرقام - بحيث أن المستخدم يختار من : إلى

هل يمكن أن نجعل الأرقام بناء على تسلسل معين أو بمعنى زيادة معينة

نعم يمكن ذلك فبعد أن تحدد الحد الأعلى والحد الأدنى - تقوم بتحديد Increment وهى الخاصية المسئولة عن معدل الزيادة للأرقام

ونقوم بتعديل من نافذة الخصائص حيث القيمة الافتراضية هى 1

أو بالكود من نفس الخاصية :



كود :
NumericUpDown1.Increment = 5
}}}
تم الشكر بواسطة:
#3
يسال أحد الأخوة ويقول - نريد أن ندخل قيم بها أرقام عشرية

نعم ذلك متاح لكن بشرط - يجب تحديد عدد الخانات العشرية


وذلك من الخاصية DecimalPlaces من نافذة الخصائص حيث القيمة الافتراضية 0

وتضع عدد الخانات العشرية المطلوبة


كود :
[/FONT][/b][/FONT][/color]' حددنا عدد الخانات

NumericUpDown1.DecimalPlaces = 2


' ارسل قيمة رقمية بها رقم عشرى من عدد 2 خانة



NumericUpDown1.Value = 3.15[COLOR=#0000FF][FONT=arial][b][FONT=Tahoma]

}}}
تم الشكر بواسطة:
#4
ماذا لو أردت أن استخدم الأداة فى أرقام تتعدى الآلاف وأريد أن تقوم الأداة بوضع فاصلة بعد الألف
للرقم الموجود

ذلك من الخاصية ThousandsSeparator بنجعل قيمتها تساوى True من نافذة الخاصائص

واليك المثال اجعل اقل رقم = 1 واكبر رقم = 100000

واجعل الخاصية ThousandsSeparator = True


أو عن طريق الكود :

كود :
[/b][/FONT][/COLOR]NumericUpDown1.Minimum = 0 NumericUpDown1.Maximum = 100000
NumericUpDown1.ThousandsSeparator = True

NumericUpDown1.Value = 10000[COLOR=#0000FF][FONT=arial][b]
}}}
تم الشكر بواسطة:
#5
تتيح لك هذه الأداة أيضاً أن تظهر الأرقام المدخلة فى صورة Hexadecimal

كل ما عليك أنه فى نافذة الخصائص تجعل هذه الخاصية Hexadecimal = True


ومثال بالكود :


كود :
[/b][/FONT][/COLOR]NumericUpDown1.Minimum = 0    NumericUpDown1.Maximum = 1000
    NumericUpDown1.Hexadecimal = True

    NumericUpDown1.Value = 255[COLOR=#0000FF][FONT=arial][b]
}}}
تم الشكر بواسطة:
#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

الكود واضح ومعالج فى حالة أن عملية الزيادة او النقصان تتخطى الحد الاعلى والأدنى


}}}
تم الشكر بواسطة:
#7
سهى أعلى وأسفل المخصوصان بالزيادة والنقصان موجودان بيمين الأداة - لنفرض أنك تريدهم باليسار

يكون ذلك عن طريق الخاصية UpDownAlign من نافذة الخصائص

كود :
[COLOR=#0000FF][FONT=arial][b]
NumericUpDown1.UpDownAlign = LeftRightAlignment.Left[/b][/FONT][/COLOR]



==========================================



ماذا لو أردت أن يصنع زرين يقوموا بوظيقة سهى أعلى وأسفل المخصوصان بالزيادة والنقصان


ضع زرين أمر Button واجعل احدهم للزيادة والاخر للنقصان


لتشغيل زر الزيادة

كود :
NumericUpDown1.UpButton()[/b][/FONT][/COLOR]


[color=#0000FF][FONT=arial][b]لتشغيل زر النقصان

[COLOR=#0000FF][FONT=arial][b]
كود :
NumericUpDown1.DownButton()

[/b][/FONT][/COLOR]
}}}
تم الشكر بواسطة:



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


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