صفحه اصلی / دوره‌های آموزشی / آموزش ویندوز فرم سی شارپ، مقدماتی / دکمه های رادیویی-RadioButton

دکمه های رادیویی-RadioButton

دکمه های رادیویی-RadioButton
براي خريد اين درس نياز است وارد سايت شويد. در صورت نداشتن حساب کاربري عضو شويد.
رایگان

جلسات دوره


          
22 دقیقه
رایگان
           
مهدی احمدی
مدرس:

مهدی احمدی

از سال 1380 برنامه نویسی را شروع کرده و از سال 90 در این زمینه تدریس میکنم .با زبانهای سی پلاس پلاس ، سی ،پاسکال ،VB ، سی شارپ ،اسمبلی، جاوا و .... کار کرده و آنها را تدریس کرده ام.هم اکنون نیز مشغول تدریس در دانشگاه هستم و مدتی است با سایت درسمن همکاری میکنم مشاهده رزومه

دکمه های رادیویی-RadioButton
 
در این جلسه دکمه  رادیویی را بررسی می‌کنیم و نحوه استفاده از این دکمه ها را با هم کار میکنیم. هرگاه بخواهیم کاربر از بین گزینه‌های برنامه یکی را به عنوان ورودی انتخاب کند از دکمه رادیویی(radiobutton) استفاده میکینم. برای آموزش دکمه های رادیویی برنامه‌ای میسازیم که کاربر با انتخاب یک radiobutton که نشانگر رنگ مشخصی است را انتخاب کند و با کلیک روی دکمه رنگ متن بالا  تغییر یابد. از منوی toolbox ، سه  radiobutton  به form اضافه میکنیم و تا در زمان اجرا کاربر فقط یکی از  دکمه ها را  انتخاب کند.
 
ویژگی‌ها:
اکثر ویژگی های دکمه رادیویی را در کنترل هایی که قبلا گفتیم بررسی کردیم و همان ویژگی ها برای همه تقریبا قابل اجرا است. برای مثال ویژگی Autosize که در Label گفته شده است که در اینجا هم قابل استفاده است.

 
رویدادها:
در بین رویدادها اکثر رویداد ها را بررسی کرده‌ایم و بیشترین کاربرد در radiobutton رویداد
 changedاست که به صورت پیش‌فرض قرار دارد.
 یعنی اینکه وقتی در زمان اجرا یک دکمه رادیویی را انتخاب میکنیم رویداد checked  changed آن دکمه فعال میشود.
ظاهر برنامه ما میتواند به صورت زیر باشد که در ابتدا آن را طراحی میکنیم و بعد به کد نویسی میپردازیم.
 
دکمه های رادیویی در windows form
 
و برنامه به این صورت است که  وقتی کاربر یکی از دکمه‌ها را انتخاب کرد و دکمه رنگ متن  را کلیک کرد هر رنگی که انتخاب کرده به عنوان رنگ متن بالا شود. پس به رویداد پیش فرض دکمه که click است میرویم چرا که در برنامه گفتیم بعد از کلیک کردن دکمه تغییرات اعمال شوند. با توجه به برنامه‌ای که ساخته ایم در اجرای برنامه باید ویژگی checked دکمه ها را که در بالا در مورد آن توضیح دادیم را بررسی کنیم، نام دکمه های رادیویی را به ترتیب از بالا به پایین به صورت زیر قرار میدهیم برای اینکه در کد نویسی دکمه ها را جابجا قرار ندهیم.
قرمز== rdoRed
آبی == rdoBlue
سبز == rdoGreen
دکمه رنگ متن==btncoltext
و کدی که در رویداد دکمه باید بنویسیم به این صورت است که اگر rdoRed ویژگی checked برابر با true باشد رنگ متن بالا قرمز شود و برای دیگر دکمه‌ها کدی که باید بنویسیم به صورت زیر است.
private void btncoltext_Click(object sender, EventArgs e)
        {
            if (rdoRed.Checked == true)
            {
                label1.ForeColor = Color.Red;
            }
            if (rdoBlue.Checked == true)
            {
                label1.ForeColor = Color.Blue;
            }
            if (rdoGreen.Checked == true)
            {
                label1.ForeColor = Color.Green;
            }
        }
حالا میخواهیم این قابلیت را به کاربر بدهیم که کاربر رنگ پس زمینه متن بالا را هم انتخاب کند
دو عدد دکمه radiobutton اضافه میکنیم ولی اگر کاربر بخواهد رنگ پس زمینه و رنگ متن را با هم تغییر دهد تغییرات رنگ اجرا نمیشود چرا که فقط یک گزینه را میتواند انتخاب کند در حقیقت همه این دکمه ها را که در form ایجاد کرده‌ایم همه در یک گروه قرار گرفته اند و در هر لحظه فقط یکی از این دکمه ها را میتوان انتخاب کرد  حال اگر بخواهیم گزینه های رنگ متن و گزینه های رنگ پس زمینه متن هر کدام در یک گروه جداگانه قرار بگیرند، از یک کنترل کمکی به نام Groupbox که در منوی toolbox قرار دارد استفاده میکنیم و کار این کنترل گروه بندی کنترل ها است که ما نسبت به نیازمان دو Groupbox به پروژه اضافه میکنیم و گزینه های رنگ متن را در  1Groupbox و گزینه های رنگ پس زمینه را در 2Groupbox قرار میدهیم و اسم هر کدام از گروه ها را تغییر میدهیم .
و کاربر در زمان اجرا میتواند از بین گزینه های رنگ متن و رنگ پس زمینه یک گزینه را انتخاب کند.

دکمه های رادیویی در ویندوز فرم
کد مربوط به قسمت رنگ پس زمینه به این صورت است که از رویداد checked  changed دکمه ها استفاده میکنیم .اگر که برابر با true هستند backcolor labal1. تغییر کند در این روش نیازی به دکمه نیست و رنگ پس زمینه در همان لحظه تغییر میکند.
private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton1.Checked == true)
            {
                label1.BackColor = Color.Red;
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            if (radioButton2.Checked == true)
            {
                label1.BackColor = Color.Blue;
            }
        }
 

نظرات دانشجویان

نظر شما در تصمیم دیگران اثرگذار است.

لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.

برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.
ثبت نام

63