Winform/C#入门编程之第二部分常用控件(五:单选框控件RadioButton)

简介:

        介绍单选框控件RadioButton。当多个 RadioButton 控件出现时,使用户能够从一组选项中选择一个选项。

介绍:

1.属性

常用属性
Name 获取或设置控件的名称。
Text

获取或设置与此控件显示的文本。在此控件中一般不适用。

AutoSize

获取或设置一个值,该值指示控件是否基于其内容调整大小。

TextAlign

获取或设置此控件上的文本对齐方式。

Checked

获取或设置一个值,该值指示是否已选中控件。若选中了单选框,则为 true;反之,则为 false。

Appearance

获取或设置一个值,该值用于确定 RadioButton 的外观。如果 Appearance 值设置为 Normal,则在绘制 RadioButton 控件时使用圆形复选框。 若该值设置为 Button,则将 RadioButton 绘制成一个可切换为向上或向下状态的控件。 每种类型都可显示文本或图像,或同时显示两者。

TabStop

获取或设置一个值,该值指示用户能否使用 Tab 键将焦点放到该控件上。

Tag

获取或设置包含有关控件的数据的对象。

2.事件

常用事件
CheckedChanged

Checked 属性的值更改时发生。

3.使用

  1. 一般更改属性Name,Text,使用事件CheckedChanged。当超过两个以上时,可以考虑把不同控件绑定相同的事件,在控件视图属性的CheckedChanged事件输入相同的绑定函数名。当然也可以分别使用不同的绑定函数名。
  2. 把要互斥的单选框控件放在同一个容器中,常用GroupBox。

如下图:

4.原理

  1. CheckedChanged事件和radioButton_CheckedChanged绑定。选择状态更改时,会触发。
this.radioButton1.CheckedChanged += new System.EventHandler(this.radioButton_CheckedChanged);
this.radioButton2.CheckedChanged += new System.EventHandler(this.radioButton_CheckedChanged);
        private void radioButton_CheckedChanged(object sender, EventArgs e)
        {

        }

 

5.演示

  1. 获取选中状态。通过属性Checked判断状态。修改属性Tag或者Text来判断是哪个控件被选中。
  2. 更改显示样式。Appearance 属性设置为 Button。
        private void radioButton_CheckedChanged(object sender, EventArgs e)
        {
            RadioButton rbn = sender as RadioButton;

            //第一种
            if (rbn.Checked)
            {
                string tag = rbn.Tag.ToString();
                if (tag == "男")
                {

                    //Do something          
                }
                else
                {
                    //Do something
                }
                MessageBox.Show(tag);
            }

            ////第二中种
            //if (rbn.Checked)
            //{
            //    string name = rbn.Text;
            //    if (name == "男")
            //    {
            //        //Do something
            //    }
            //    else
            //    {
            //        //Do something
            //    }
            //    MessageBox.Show(name);
            //}
        }

 如下图:

猜你喜欢

转载自blog.csdn.net/C_gyl/article/details/85162537