کنترل NumericUpDown
کنترل NumericUpDown عموماً برای دریافت اعداد از ورودی و محدود کردن کاربران برای وارد کردن مقادیر غیرعددی بکار میرود. کنترل NumericUpDown از لحاظ شکل ظاهری شبیه به کنترل TextBox است، با این تفاوت که دکمههایی به شکل پیکان در سمت چپ یا راست آن برای افزایش و یا کاهش مقدار کنترل وجود دارند.
مقدار عددی کنترل NumericUpDown میتواند توسط خاصیت Value مورد دستیابی و یا بازیابی قرار گیرد. نوع دادهی این خاصیت از نوع Decimal است. در جدول زیر برخی از خواص کنترل NumericUpDown را مشاهده میکنید:
خاصیت | توضیحات | |
DecimalPlaces | تعداد ارقام اعشار را مشخص میکند. | |
Hexadecimal | مشخص میکند که کنترل NumericUpDown مقدارش را به وسیلهی کدهای HexaDecimal نمایش دهد یا خیر. | |
Increment | گام افزایش یا کاهش مقدار کنترل را مشخص میکند. | |
InterceptArrowKeys | اگر مقدار آن برابر با True باشد، شما میتوانید با استفاده از کلیدهای مکان نمای کیبورد مقدار را افزایش و یا کاهش دهید. | |
Maximum | بالاترین مقداری را که این کنترل میتواند در خود جای دهد را مشخص میکند. | |
Minimum | کمترین مقداری را که این کنترل میتواند در خود جای دهد را مشخص میکند. | |
ThousandsSeperator | برای جدا کردن ارقام هر رده (یکان, دهگان, صدگان, …) بکار میرود (برای مثال 1,000). | |
UpDownAlign | مشخص میکند که دکمههای پیکانی در چه مکانی قرار بگیرند. اگر مقدار آن Right باشد، آنها در سمت راست و اگر مقدار آن Left باشد، دکمههای پیکانی در سمت چپ کنترل NumericUpDown قرار میگیرند. | |
Value | مقدار کنترل NumericUpDown control را مشخص میکند. |
رویداد پیش فرض کنترل NumericUpDown رویداد ValueChanged است، این رویداد زمانی اتفاق می افتد که مقدار خاصیت Value این کنترل تغییر کند. حال میخواهیم یک برنامه بسازیم که کنترل NumericUpDown در آن بکار رفته باشد. یک فرم را ایجاد کرده و نام آنرا به NumericUpDown تغییر دهید. دو برچسب (lable) و دو کنترل NumericUpDown بر روی آن قرار دهید. مقدار خاصیت Text بر چسبها را به “Price” و “Quantity” تغییر دهید. یک دکمه (Button) را به فرم اضافه کرده و عنوان (Caption) آنرا به “Calculate” تغییر دهید. کنترلها را مانند شکل 2 بر روی فرم جایگذاری کنید.
بر اساس جدول زیر خواص کنترلهای خود را تغییر دهید:
کنترل | خاصیت | مقدار |
button1 | Name | buttonCalculate |
numericUpDown1 | Name | numericUpDownPrice |
Decimal | 2 | |
Increment | 0.50 | |
Maximum | 10000 | |
numericUpDown2 | Name | numericUpDownQuantity |
Maximum | 100 |
مقدار خاصیت Decimal کنترل numericUpDownPrice برابر با 2 قرار داده شده، بنابراین این کنترل میتواند 2 رقم اعشار دقت داشته باشد.
مقدار خاصیت Increment نیز برابر با 0.50 قرار دادهایم، بنابراین افزایش و یا کاهش مقدار به اندازه 0.50 واحد کم یا زیاد میشود.
مقدار خاصیت Maximum برابر 10000 است، پس قیمت (Price) به آن محدود میشود و کاربر نمیتواند رقمی بالاتر از آنرا وارد کند.
از آنجاییکه نهایت مقدار کنترل numericUpDownQuantity را در جدول بالا 100 قرار دادهایم، در نتیجه شما میتوانید فقط مقادیری نهایتاً تا 100 را در آن وارد کنید. بر روی دکمه (Button) دوبار کلیک کنید تا یک کنترل کنندهی رویداد Click به آن اضافه شود. کدهای زیر را به آن اضافه کنید:
private void buttonCalculate_Click(object sender, EventArgs e) { decimal price = numericUpDownPrice.Value; int quantity = (int)numericUpDownQuantity.Value; decimal total; total = price * quantity; MessageBox.Show(String.Format("The total price is {0:C}", total)); }
برنامه را اجرا کنید. مقدار کنترل numericUpDownPrice را به وسیلهی دکمههای پیکانی کاهش یا افزایش دهید. مشاهده میکنید مقدار آن به اندازه 0.50 واحد افزایش و یا کاهش پیدا میکند.
بر روی دکمهی Calculate کلی کنید، این دکمه با ضرب کردن مقدار Quantity در Price، قیمت کل را بدست میآورد.
سلام ممنون بابت زحماتتون
سلام، خواهش می کنم، لطف دارین
عرض ادب و سلام جناب آقای ابراهیمی…
در متن چند جا اشتباه تایپی وجود داره :
به جای Increment به اشتباه Interval استفاده شده…
ممنون از زحمات شما…
سلام خدمت شما آقای کلاته… بسیار ممنون بابت توجهتون… اصلاح شد.
بزرگوارید…متشکرم…