NumericUpDown sınıfı TextBox sınıfının sayısal değer girişleri için özelleştirilmiş hali olarak düşünülebilir. Bu tür nesneler kullanıcının yalnızca sayısal değerler girişine izin verir.
Aşağıdaki resme tıklayarak dersin video anlatımına ulaşabilirsiniz:
Propertileri
Value
Kullanıcının NumericUpDown nesnesine girdiği değer nesnenin “Value” propertisinine aktarılır ve Decimal türden saklanır.
Decimal türü değişkenler ve diğer değişkenler ile aralarında değer aktarma işlemleri hakkında daha fazla bilgi almak için: http://niyazietik.com/programlama-dilleri/decimal-degiskenler/ sayfamızı ziyaret edebilirsiniz.
Örnekler:
textBox1.Text = numericUpDown1.Value.ToString();
double db = Convert.ToDouble(numericUpDown1.Value);
numericUpDown1.Value = Convert.ToDecimal(textBox1.Text);
numericUpDown1.Value = Convert.ToDecimal(db);
Maksimum ve Minimum
NumericUpDown nesneleri varsayılan olarak 1 ile 100 aralığında tamsayı değer girişine izin verirler.
NumericUpDown nesnelerine kullanıcıların girebileceği en büyük değeri “Maksimum”, en küçük değeri ise “Minimum” propertisi ile belirleyebiliriz.
DecimalPlaces
Kullanıcıların ondalıklı değer girmesine izin vermek için ise “DecimalPlaces” propertisine, girilmesi istenen ondalıklı basamak sayısı yazılır. Örnek olarak fiyat bilgisinin girileceği bir NumericUpDown nesnesine kuruş bilgisi olarak iki basamak ondalıklı değer girişi için “DecimalPlaces” propertisine 2 değeri girilmelidir.
Increment
NumericUpDown nesnelerinin kenarındaki butonlara basılarak veya yön tuşları kullanılarak nesne içindeki değerin her defasında ne kadar artacağı veya azalacağını belirtmek için “Increment” özelliği kullanılır. Varsayılan değer 1’dir.
TousandsSeparator
NumericUpDown nesnelerine büyük değerler girildiğinde değerin okunması zorlaşır. “TousandsSeparator” propertisinin değeri “True” yapılarak girilen değere otomatik olarak 3’er basamakları ayıran noktalar yerleştirilir.
TextAlign
TextAlign propertisine “Right” değeri verilerek NumericUpDown nesnesine girilen değerin sağa yaslanmış olarak görünmesi sağlanabilir. Değerin ortalanması için ise bu propertiye “Center” değeri verilir. Varsayılan değer “Left”dir.
UpDownAlign
Bu property ile nesnenin kenarındaki yukarı/aşağı butonlarının yeri değiştirilebilir. Bu propertiye “Left” değeri verilerek butonlar sola taşınabilir. Varsayılan değeri “Right”dır.
Hexadecimal
NumericUpDown nesneleri yalnızca sıfır ile dokuz aralığındaki sayısal değerler ile ondalık basamakları ayıran virgül karakterinin değer olarak girilmesine izin verirler. Kullanıcı girişi sırasında nokta ayracı girilebilir ancak aktif nesne değiştiğinde “TousandsSeparator” propertisinin değeri “True” değilse nokta karakterleri kaybolur. Nesnenin “Hexadecimal” özelliği “True” yapılarak ‘A’, ‘B’, ‘C’, ‘D’, ‘E’ ve bunların küçük hallerinin (‘a’, ‘b’, ‘c’, ‘d’, ‘e’) değer olarak girilmesine izin verilebilir. Böylece NumericUpDown nesnesine hexadecimal (16’lık sayı sistemi) sayılar da girilebilir.
Sık Kullanılan Eventi
ValueChanged()
NumericUpDown nesnesinin en sık kullanılan eventi “ValueChanged” eventidir. Kullanıcı NumericUpDown nesnesine değer girdikten sonra enter tuşuna bastığında veya başka bir nesneyi aktif hale getirdiğinde yahut nesnenin kenarındaki aşağı/yukarı butonlarından birine her tıkladığında bu metod bir defa çalışır.
Örnek:
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
label1.Text = numericUpDown1.Value.ToString();
}
Teşekkürler hocam