• مقدمه

یکی از مشکلاتی که با آن‌ها مواجه خواهید شد، مشکل خالی بودن Text Box ها می‌باشد! هنگامی که کاربر با نرم‌افزار تهیه شده توسط شما کار می‌کند، احتمالاً بعضی مواقع به‌صورت ناخودآگاه Text Boxای را خالی رها می‌کند. راه حل آن را در این بخش آموزشی خواهیم گفت.

  • کنترل خالی بودن Text Box

پروژه‌ی جدیدی را در Visual Studio به‌صورت Windows Application ایجاد کنید و فرمی شبیه به شکل زیر تهیه کنید:1-windows form

بر روی Buttonای که در فرم خود قرار داده‌اید، دوبار کلیک کنید و کد‌های زیر را در داخل آن بنویسید:

2-button code

کدهایی را که همانند بالا در نرم‌افزار خود نوشته‌اید را اجرا کنید. در واقع، کدهای بالا این عمل را انجام می‌دهند که یک شماره‌ای را بصورت int از یک Text Box دریافت می‌کند و به‌صورت یک String به MessageBox ارسال خواهد کرد.

اگر کدهای بالا را اجرا کردید، ابتدا یک شماره را در Text Box وارد کرده و بر روی Button کلیک کنید؛ باید همان عدد را در قالب یک MessageBox ببینید. این‌بار، Text Box را کاملاً خالی کرده و بر روی Button کلیک کنید! چه خواهد شد؟ باید خطایی شبیه به خطای زیر ببینید:

3-error_empty_txtbox

شاید خطاها به‌شکل‌های متفاوتی (بستگی به نسخه Visual Studio شما) نمایش داده شود، اما در هر صورت، خطا ناشی از خالی بودن این Text Box است.

برای جلوگیری از این مشکل، ما از یک متد با نام TryParse استفاده می‌کنیم. برای تبدیل ارقام ما قبلاً بدین شکل عمل می‌کردیم:

textBoxNumber = int.Parse(textBox1.Text);

متد Parse خالی بودن یا نبودن یک Text Box را بررسی نمی‌کند و مستقیماً می‌خواهد که مقدار داخل Text Box تعیین شده را به مقدار خواسته شده تبدیل کند، بنابراین ممکن است که در بعضی مواقع، به‌خاطر اشتباه کاربر که یک Text Box را خالی گذاشته، با خطایی روبرو شود.

بنابراین در متد TryParse به سی‌شارپ می‌گوییم که اول ببیند آیا مقدار داخل Text Box قابل تبدیل است یا نه. کدهای ما شکلی شبیه به زیر را خواهند داشت:

4-tryparse

کد فوق به شکل زیر است:

متغیر outputValue، مقدار تغییر یافته را در خود نگه‌داری خواهد کرد. یک متغیر از نوع Bool نیز تعریف می‌کنیم که ببینیم آیا متد TryParse می‌تواند مقدار داخل را تبدیل کند یا نه! اگر جواب مثبت بود، مقدار آن True می‌شود؛ در غیراینصورت False خواهد بود.

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

در داخل IF، ما کد را به‌این شکل نوشتیم که اگر مقدار قابل تبدیل بود، با استفاده از علامت NOT (!)، مقدار را False می‌کنیم تا وارد کدهای درون IF نشود و کدهای ELSE را اجرا کند. اما اگر مقدار ما قابل تبدیل نبود، پس مقدار isNumber برابر با False خواهد شد و با استفاده از دستور منطقی NOT، به True تبدیل می‌شود و وارد بدنه IF می‌شود.

جهت دریافت این بخش آموزشی به‌صورت فایل PDF،‌ اینجا را کلیک کنید.