آموزش سیشارپ C# – بخش ۲۶
- مقدمه
بخشهای فعلی از آموزش زبان سیشارپ، فعلاً در حال راهاندازی بخشهای مختلف ایجاد شده برای منو در Windows Form میباشد. در این بخش نیز، ما به سراغ منوی View خواهیم رفت و تنظیمات لازم آن را انجام خواهیم داد.
- تنظیمات منوی View
در منوی View، سه گزینه مختلف وجود دارد که ما فعلاً تنها با دوتا از آنها کار خواهیم داشت. نخستین منو، منوی View Text Boxes میباشد. ما توسط متغیرهای boolean، خواهیم توانست که چگونه text box ها را نمایش و مخفی کنیم.
به منوی View مراجعه کنید و بر روی گزینه View Text Boxes دابل-کلیک کنید تا وارد بخش کدنویسی شویم.
کاری که ما میخواهیم انجام دهیم این است که جعبه متنها را با کلیک بر روی گزینه View TextBoxes مخفی میکنیم و با کلیک مجدد بر روی آنها، مجدداً نمایش داده شوند. یک «تیک» نیز در کنار این منو ظاهر خواهد شد که وضعیت فعلی را برای ما به نمایش خواهد گذاشت.
برای اضافه کردن این «تیک»، میتوانیم از Property مربوط به Checked را به کدهایمان اضافه کنیم. کد زیر را به بخش کدهای مربوط به گزینه View Textboxes اضافه کنید:
mnuViewTextboxes.Checked = true;
برنامه خود را اجرا کنید. یک بار بر روی View Textboxes کلیک کنید؛ خواهید دید که یک «تیک» کنار شما اضافه خواهد شد. سوالی که اینجاست، این هست که چگونه میتوانیم کاری کنیم که اگر دوباره بر روی View Textboxes کلیک شود، این تیک از بین برود؟
یک روش خیلی ساده و البته جالبی وجود دارد! ما میتوانیم کاری کنیم که دقیقاً حالت مخالف وضعیت فعلی را با کلیک بر روی این گزینه به نمایش بگذاریم. یعنی با یک خط کد و با استفاده از NOT، وضعیت مخالف وضعیت فعلی را به این گزینه نسبت دهیم. خط کد زیر را با کد بالایی جایگزین کنید:
mnuViewTextboxes.Checked = !mnuViewTextboxes.Checked;
الان یکبار دیگر برنامه خود را اجرا کرده و این گزینه را چند بار امتحان کنید. خواهید دید که بهدرستی عمل خواهد کرد.
اکنون برگردیم به سراغ کار اصلی خودمان، برای اینکه هدف و انتظاری که از گزینه View Textboxes داریم را محقق کنیم، کافیست که کد زیر را اضافه کنیم:
if (mnuViewTextboxes.Checked)
{
textBox1.Visible = true;
textBox2.Visible = true;
}
else
{
textBox1.Visible = false;
textBox1.Visible = false;
}
ابتدا باید بدانید که دستور زیر:
if (mnuViewTextboxes.Checked)
دقیقاً برابر با دستور زیر است:
if (menuViewTextboxes.Checked == true)
البته دقیقاً همانند موارد بالا، میتوانیم کدهایمان را کلاً به شکل زیر بنویسیم:
textBox1.Visible = !textBox1.Visible;
و به همین ترتیب برای Text Box شماره ۲.
جهت دریافت این بخش آموزشی بهصورت یک فایل PDF، اینجا را کلیک کنید.
تازه بخش اول آموزش c# رو خوندم و میخوام ادامه بدم ولی چرا پیدا کردن آموزش های بعد یا قبل هر آموزش اینقدر مشکله؟! پیشنهاد میدم اگه امکان داره در انتهای هر آموزش مثلا 2 تا لینک یا دکمه جهتی به آموزش قبلی و بعدی هم بگذارید. چون لینکایی که در قسمت مطالب مرتبط وجود داره درهم میاد.
یه پیشنهاد دیگه هم اینکه تو قسمت برنامه نویسی سایت هم اگه آموزش هر زبانی جداگانه باشه و ترتیب براشون معین بشه خیلی عالی میشه.
با سلام،
متأسفانه بخش مطالب مرتبط خارج از دسترس ما هست و بهصورت رندومی نمایش داده میشود. در رابطه با پیشنها دوم شما، از بخش «تماس با ما» پیشنهادتون رو مطرح کنید که توسط مدیریت سایت بررسی بشه. در هر صورت، بابت مشکل بوجود اومده من از شما معذرت میخوام.
موفق باشید!
با سلامی دوباره تشکرات وافره
این دستور:
if (mnuViewTextboxes.Checked)
{
textBox1.Visible = true;
textBox2.Visible = true;
}
else
{
textBox1.Visible = true;
textBox1.Visible = true;
}
به نظر می رسه اشتباه باشه شاید باید اینجوری باشه :
txbx1.Visible = true
txbx2.Visible = true
else
txbx1.Visible = false
txbx2.Visible = false
سلام دوست عزیزم٬
واقعاً خیلی خیلی ممنونم از شما که به این مشکل دقت کردید و آن رو به من گزارش دادید. به زودی اصلاح خواهم کرد.
خیلی خیلی سپاسگذارم.
موفق باشید.
ببخشید یه سوال من وقتی منوی View رو باز می کنم و تیک رو می زنم سریع منوی View غیب میشه، نمیشه یه حالتی باشه که وقتی تیک رو میزنی منوی View باز بمونه و غیب نشه؟
سلام دوست عزیزم٬
این حالت بهصورت پیشفرض در سیشارپ تعبیه شده و معمولاً همه نرمافزارها از چنین حالتی پیروی میکنند.
احتمالاً راهی برای تغییر دادن این قابلیت وجود دارد؛ که باید در اینترنت جستجو کنید. بنده تاکنون با چنین سوالی مواجه نشده بودم و دنبال آن هم نرفتهام.
ممنونم
موفق باشید!
با سلام کد روش کد کردن ودی کد کردن در بانک رو میخواستم که کد شده اطلاعاتو در دیتا گرید ویو نشون نده فقط توی بانک نشون بده باتشکر