Group Box

sara es

New Member
من می خوام از یک group box توی برنامم استفاده کنم که شامل چند تا radio button است.اما وقتی که می خوام توی کد از آن استفاده کنم هیچ خاصیت و یا متدی براش وجود نداره که بتونم از اون برای اینکه کدوم radio Button انتخاب شده استفاده کنم.ممنون میشم کمک کنید!!!
 

the_king

مدیرکل انجمن
من می خوام از یک group box توی برنامم استفاده کنم که شامل چند تا radio button است.اما وقتی که می خوام توی کد از آن استفاده کنم هیچ خاصیت و یا متدی براش وجود نداره که بتونم از اون برای اینکه کدوم radio Button انتخاب شده استفاده کنم.ممنون میشم کمک کنید!!!

چون مباحث این بخش از انجمن شامل چندین زبان برنامه نویسی است، لطفا در هنگام مطرح کردن سوالاتتون زبان برنامه نویسی
رو قید کنید. با توجه پست های قبلی تون در فروم به نظر میاد که سوالتون در مورد زبان #C است.

هر RadioButton ای یک مشخصه Checked دارد که یا true است یا false. اگر true باشد یعنی کنترل انتخاب شده است.

مثلا کد زیر کنترل radioButton1 را انتخاب می کند :

کد:
private void button1_Click(object sender, EventArgs e)
{
	radioButton1.[B]Checked[/B] = true;
}

زمانی که یک کنترل RadioButton انتخاب می شود یا از حالت انتخاب خارج می گردد رخداد CheckedChanged فراخوانی می شود،
مثلا در این مثال وضعیت Checked در کنترل radioButton1 در داخل textBox1 نمایش می یابد :

کد:
        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            textBox1.Text = radioButton1.[B]Checked[/B].ToString();
        }
 

sara es

New Member
اما من در اینجا گروهی از radio button ها رو دارم که به وسیله ی group box باید هر کدام از radio button ها را چک کنم.جواب شما برای حالتیه که من چند تا radio button داشته باشم که مال یک گروه نباشند!
 

the_king

مدیرکل انجمن
اما من در اینجا گروهی از radio button ها رو دارم که به وسیله ی group box باید هر کدام از radio button ها را چک کنم.جواب شما برای حالتیه که من چند تا radio button داشته باشم که مال یک گروه نباشند!

این تابع ()IsGroupChecked ای که ساختم مشخص می کند که آیا در درون یک GroupBox کنترل RadioButton ای
انتخاب شده است یا نه :

کد:
       private bool [B]IsGroupChecked[/B](GroupBox g)
        {
            int i;
            RadioButton rb;
            for (i = 0; i < g.Controls.Count; i++)
            {
                if (g.Controls[i].GetType().ToString() == "System.Windows.Forms.RadioButton")
                {
                    rb = (RadioButton) g.Controls[i];
                    if (rb.Checked == true)
                        return true;
                }
            }
            return false;
        }

مثلا کد زیر، با مقادیر True و False که در درون textBox1 قرار داده می شود، مشخص می شود که در groupBox2
کنترل RadioButton ای هست که انتخاب شده باشد یا خیر :

کد:
textBox1.Text = IsGroupChecked(groupBox2).ToString();


همچنین تابع ()GetCheckedRadioButton ای هم ساختم که در یک GroupBox کنترل RadioButton ای که
انتخاب شده است را بر می گرداند و اگر چنین کنترلی وجود نداشت null را بر می گرداند :

کد:
        private RadioButton [B]GetCheckedRadioButton[/B](GroupBox g)
        {
            int i;
            RadioButton rb;
            for (i = 0; i < g.Controls.Count; i++)
            {
                if (g.Controls[i].GetType().ToString() == "System.Windows.Forms.RadioButton")
                {
                    rb = (RadioButton)g.Controls[i];
                    if (rb.Checked == true)
                        return rb;
                }
            }
            return null;
        }

مثلا در کد زیر نام کنترل RadioButton ای که در داخل groupBox2 انتخاب شده است در داخل textBox1
نمایش می یابد :

کد:
            RadioButton rb = GetCheckedRadioButton(groupBox2);
            if (rb != null)
                textBox1.Text = rb.Name;
            else
                textBox1.Text = "";
 

جدیدترین ارسال ها

بالا