"

کنترل NumericUpDown در سی شارپ

زهیر صفری 1404/04/25 0 32
لینک کوتاه https://zoheirsoftware.com/z/8b9224d5a |
کنترل NumericUpDown در سی شارپ,ویژگی‌های کنترل NumericUpDown,ساخت کنترل عددی در #C

مقدمه

اگر به دنبال راهی برای گرفتن ورودی عددی دقیق و کنترل‌شده از کاربر در برنامه‌های Windows Forms هستید، کنترل NumericUpDown در سی شارپ (#C) یکی از بهترین گزینه‌هاست.

این کنترل به شما امکان می‌دهد تا کاربر فقط اعداد را در محدوده‌ای خاص وارد کرده و با دکمه‌های بالا و پایین آن را افزایش یا کاهش دهد.

🧩 کنترل NumericUpDown در C# چیست؟

NumericUpDown یک کنترل عددی است که در محیط Windows Forms برای دریافت مقادیر عددی به‌کار می‌رود.

این کنترل شامل یک جعبه متنی (TextBox) به‌همراه دو دکمه بالا و پایین است. با استفاده از این دکمه‌ها، می‌توان مقدار عددی را بدون نیاز به تایپ کردن تغییر داد.

⚙️ ویژگی‌های کنترل NumericUpDown در سی شارپ

در ادامه لیستی از مهم‌ترین ویژگی‌های این کنترل آمده است:

ویژگی   توضیح
Value مقدار فعلی کنترل
Minimum  حداقل مقدار مجاز
Maximum  حداکثر مقدار مجاز
Increment میزان افزایش یا کاهش در هر کلیک
DecimalPlaces تعداد ارقام اعشار قابل نمایش
ReadOnly فقط‌خواندنی کردن فیلد عددی
ThousandsSeparator نمایش جداکننده هزارگان
Hexadecimal  نمایش عدد به صورت هگزادسیمال

 

 ویژگی‌های کنترل NumericUpDown در سی شارپ

 

⚡ رویدادهای مهم  کنترل NumericUpDown در سی شارپ

رویداد (Event) کاربرد
ValueChanged  اجرا هنگام تغییر مقدار
KeyUp, KeyDown تعامل با صفحه‌کلید
Leave زمانی که کنترل فوکوس را از دست می‌دهد
Enter زمانی که کنترل فوکوس می‌گیرد
TextChanged زمانی که متن تغییر می‌کند (مفید برای حالت read-only)

 

🧩 مثال ساده کنترل NumericUpDown

 

numericUpDown1.Minimum = 0;
numericUpDown1.Maximum = 100;
numericUpDown1.Increment = 5;
numericUpDown1.DecimalPlaces = 2;
numericUpDown1.Value = 10;

numericUpDown1.ValueChanged += (s, e) =>
{
    MessageBox.Show("مقدار جدید: " + numericUpDown1.Value);
};

 

✅ مزایای کنترل NumericUpDown در سی شارپ

1.🎯 کنترل دقیق مقدار عددی

کاربر فقط می‌تواند عددی در محدوده‌ای مشخص (مثلاً 0 تا 100) وارد کند، که احتمال خطا را کاهش می‌دهد.

2.🚫 جلوگیری از ورود کاراکتر غیرعددی

برخلاف TextBox، این کنترل به‌صورت پیش‌فرض فقط عدد می‌پذیرد؛ نیازی به اعتبارسنجی دستی نیست.

3.⚙️ پشتیبانی از تنظیمات متنوع

با ویژگی‌هایی مانند Minimum, Maximum, Increment, DecimalPlaces, و Hexadecimal، کاملاً قابل تنظیم برای نیازهای مختلف است.

4.🔄 افزایش یا کاهش آسان مقدار

کاربر می‌تواند با کلیک روی دکمه‌های بالا/پایین عدد را تغییر دهد، بدون نیاز به تایپ کردن.

5.📏 مناسب برای فرم‌های مالی و محاسباتی

برای وارد کردن اعدادی مثل قیمت، وزن، تعداد، امتیاز، موجودی انبار و... بسیار مناسب و ایمن است.

6.🧼 جلوگیری از ورود دستی (در صورت نیاز)

با تنظیم ویژگی ReadOnly = true می‌توان تایپ دستی را غیرفعال کرد و فقط دکمه‌ها فعال باشند.

7.💡 سادگی در پیاده‌سازی

استفاده از آن بسیار ساده‌تر از اعمال اعتبارسنجی عددی در TextBox است.

8.🧩 یکپارچگی با سایر کنترل‌ها

به راحتی می‌توان آن را در کنار Label, Button, ProgressBar یا کنترل‌های سفارشی استفاده کرد.

9.📱 ظاهر کاربرپسند

ظاهر کنترل شبیه به فرم‌های حرفه‌ای ویندوزی است و نیاز به طراحی خاص ندارد.

10.📚 رویدادهای قابل استفاده برای واکنش سریع

مثل ValueChanged که در لحظه تغییر مقدار می‌توان عملیات خاصی انجام داد.

مزایای کنترل NumericUpDown در سی شارپ

 

 

آیا به دنبال یک فرصت عالی برای یادگیری برنامه‌نویسی هستید؟ 🚀

با دوره آموزشی سی‌شارپ ما، شما می‌توانید مهارت‌های خود را به سطح جدیدی ارتقا دهید! این دوره به‌طور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامه‌نویسی سی‌شارپ پیش بروید.

👨‍🏫 چرا دوره ما را انتخاب کنید؟

  • محتوای جامع و عملی: با پروژه‌های واقعی و تمرینات عملی، یادگیری را به تجربه‌ای جذاب تبدیل کنید.
  • مدرس مجرب: از تجربه و دانش مدرس حرفه‌ای بهره‌مند شوید که شما را در هر مرحله از یادگیری راهنمایی می‌کنند.
  • پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
  • دسترسی مادام‌العمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، می‌توانید به آن مراجعه کنید.

💡 فرصت را از دست ندهید!

بایادگیری سی‌شارپ، می‌توانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژه‌های جذاب و چالش‌برانگیز شرکت کنید.

همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده‌ای روشن‌تر بردارید!

شرکت در دوره آموزش برنامه نویسی سی شارپ

 

 

🎯 کاربردهای دقیق و عملی کنترل NumericUpDown در سی شارپ


1. ✅ دریافت عدد در بازه مشخص

کاربرد: وقتی می‌خواهیم کاربر فقط عددی بین دو مقدار مشخص وارد کند (مثلاً 1 تا 100).

مثال:

  

numericUpDown1.Minimum = 1;
numericUpDown1.Maximum = 100;


موقعیت استفاده: ثبت امتیاز، نمره آزمون، تعداد اقلام سفارش

2. ✅ جلوگیری از ورود کاراکتر غیرمجاز

کاربرد: جلوگیری از تایپ حروف یا نمادها در فیلد عددی (برخلاف TextBox که آزادانه می‌توان هر کاراکتری وارد کرد).

مزیت: نیازی به نوشتن کد اعتبارسنجی نیست؛ فقط عدد وارد می‌شود.

موقعیت استفاده: فرم‌های پرداخت، ثبت قیمت، تعداد محصول

3. ✅ افزایش یا کاهش عدد با گام مشخص

کاربرد: عدد با هر بار کلیک بالا یا پایین، با گام مشخصی تغییر کند.

مثال:

numericUpDown1.Increment = 5;


موقعیت استفاده: ثبت مقدار قسط ماهانه، تعداد نسخه‌ها، تنظیم فاصله زمانی (مثل 5 دقیقه‌ای)

4. ✅ کار با اعداد اعشاری

کاربرد: ثبت قیمت یا مقادیر اعشاری دقیق (مثل وزن، قد، درصد، نرخ سود)

مثال:

numericUpDown1.DecimalPlaces = 2; // تا دو رقم اعشار
numericUpDown1.Value = 12.50M;


موقعیت استفاده: قیمت‌گذاری، فرم‌های مالی، محاسبه وزن کالا

5. ✅ نمایش عدد با فرمت جداکننده هزارگان

کاربرد: نمایش بهتر و خواناتر اعداد بزرگ مثل 1,000,000

مثال:

 numericUpDown1.ThousandsSeparator = true;


موقعیت استفاده: فرم مالی، ثبت مبلغ، موجودی انبار

6. ✅ نمایش عدد به‌صورت هگزادسیمال (Hex)

کاربرد: در پروژه‌های مرتبط با شبکه، رنگ‌ها، سخت‌افزار یا توسعه سطح پایین

مثال:

 

numericUpDown1.Hexadecimal = true;


موقعیت استفاده: تنظیم کد رنگ، آدرس‌های حافظه، شماره پورت

7. ✅ غیرفعال‌کردن تایپ دستی عدد (فقط دکمه‌ها فعال باشند)

کاربرد: فقط دکمه‌های بالا و پایین برای کنترل مقدار فعال باشند.

مثال:

 numericUpDown1.ReadOnly = true;


موقعیت استفاده: جلوگیری از خطای انسانی، فرم‌های kiosk، فرم‌های فروشگاهی

8. ✅ اجرای عملیات هم‌زمان با تغییر مقدار (رویداد ValueChanged)

کاربرد: بلافاصله پس از تغییر عدد، یک عملیات خاص انجام شود.

مثال:

 

numericUpDown1.ValueChanged += (s, e) =>
{
    lblResult.Text = "مقدار جدید: " + numericUpDown1.Value.ToString();
};

موقعیت استفاده: فرم محاسبه خودکار قیمت، امتیازدهی لحظه‌ای، آپدیت موجودی

9. ✅ استفاده در فرم‌های فاکتور و فروش

کاربرد: ثبت تعداد کالا، مقدار تخفیف یا مالیات به‌صورت عددی دقیق

مثال پروژه‌ای:
در فاکتور فروش، تعداد کالا با NumericUpDown وارد می‌شود و مجموع قیمت در لحظه محاسبه می‌گردد:

 

 decimal total = numericUpDownQty.Value * pricePerItem;


 10. ✅ کنترل دقیق زمان یا پارامترهای قابل تنظیم

کاربرد: تنظیمات نرم‌افزاری مثل سرعت، مدت زمان، درجه صدا، حساسیت

مثال:

numericUpDownDelay.Minimum = 100;
numericUpDownDelay.Maximum = 5000;
numericUpDownDelay.Increment = 100;


موقعیت استفاده: تایمر، تنظیمات پیشرفته نرم‌افزار، فرم‌های مهندسی

کاربردهای دقیق و عملی کنترل NumericUpDown در سی شارپ

 

🛠️ پروژه عملی: فرم ثبت امتیاز کاربر با کنترل عددی

در این بخش، یک فرم ساده ثبت امتیاز کاربران را پیاده‌سازی می‌کنیم که با استفاده از NumericUpDown مقدار امتیاز را بین ۰ تا ۱۰۰ دریافت می‌کند.

🎯 هدف پروژه:

دریافت امتیاز عددی از کاربر

بررسی مقدار مجاز

نمایش امتیاز نهایی پس از تایید

✅ طراحی فرم

یک فرم جدید بسازید.

یک کنترل Label با متن "امتیاز خود را وارد کنید:" اضافه کنید.

یک کنترل NumericUpDown اضافه کنید و تنظیمات زیر را اعمال کنید:

 

numericUpDownScore.Minimum = 0;
numericUpDownScore.Maximum = 100;
numericUpDownScore.Increment = 5;
numericUpDownScore.DecimalPlaces = 0;


 یک دکمه Button با متن "تایید امتیاز" اضافه کنید.

در رویداد Click دکمه بنویسید:

private void btnSubmit_Click(object sender, EventArgs e)
{
    int score = (int)numericUpDownScore.Value;

    if (score >= 90)
        MessageBox.Show("آفرین! امتیاز عالی کسب کردید.");
    else if (score >= 60)
        MessageBox.Show("امتیاز خوب بود.");
    else
        MessageBox.Show("نیاز به تلاش بیشتر دارید.");
}


✋ جلوگیری از ورود دستی عدد

اگر می‌خواهید فقط از دکمه‌های بالا و پایین برای انتخاب عدد استفاده شود (و تایپ دستی غیر فعال شود)، ویژگی ReadOnly را روی true تنظیم کنید:

 numericUpDownScore.ReadOnly = true;

💡 نکات پیشرفته در استفاده از NumericUpDown

اگر مقدار عددی باید به صورت اعشاری باشد، مثلاً برای ثبت وزن یا قیمت، می‌توانید ویژگی DecimalPlaces را افزایش دهید.

برای تنظیم خودکار عدد هنگام خروج از کنترل، از رویداد Leave استفاده کنید.

اگر پروژه شما نیاز به کنترل مقدار مانده حساب یا موجودی انبار دارد، NumericUpDown یک ابزار امن و دقیق است.

نکات پیشرفته در استفاده از NumericUpDown

🧠 جمع‌بندی


کنترل NumericUpDown در سی شارپ، یکی از پرکاربردترین کنترل‌های ورودی عددی در پروژه‌های ویندوز فرم است که با امکاناتی چون محدود کردن بازه، پشتیبانی از اعشار، جلوگیری از تایپ دستی و رویدادهای کاربردی، توسعه فرم‌های حرفه‌ای را آسان و قابل اعتماد می‌کند.

 

 

 

دوره های مرتبط
آموزش برنامه نویسی سی شارپ,آموزش پروژه محور سی شارپ,آموزش مقدماتی تا پیشرفته سی شارپ,طراحی نرم افزار تحت ویندوز

آموزش برنامه نویسی سی شارپ

زبان شی گرایی حرفه ای سی شارپ یک زبان قدرتمند برای طراحی نرم افزار به شمار میرود.

999,000 تومان

2.9k بازدید

ارسال دیدگاه

برای ارسال نظر لطفا ورود یا ثبت نام کنید.