WinForm的RadioButton使用小技巧
当多个RadioButton同在一个容器里面的时候,多半的操作都是要得到其中一个的值这个时候我们就没有必要去为每一个RadioButton写一个CheckedChange事件,这样会写很多代码,太累了。这个时候我们就可以借住委托来添加一个新的事件,用新的事件代替所有RadioButtonCheckedChange事件。我要实现的要求就是:当选择中任意一个RadioButton的时候Label17就变成我选择的RadioButtonText
新事件代码如下:
        //RadioButton新事件
        public void radioBtn_CheckedChange(object sender, EventArgs e)
        {
            if (!((RadioButton)sender).Checked)
            {
                return;
            }
            string rechargeMoney = string.Empty;
            switch (((RadioButton)sender).Text.ToString())
            {
                case "10":
                    rechargeMoney = "10";
                    this.lbl_money_tip.Text = rechargeMoney;
                    break;
                case "20":
                    rechargeMoney = "20";
                    this.lbl_money_tip.Text = rechargeMoney;
                    break;
                case "30":
                    rechargeMoney = "30";
                    this.lbl_money_tip.Text = rechargeMoney;
                    break;
                case "40":
                    rechargeMoney = "40";
                    this.lbl_money_tip.Text = rechargeMoney;
                    break;
                case "50":
                    rechargeMoney = "50";
                    this.lbl_money_tip.Text = rechargeMoney;
                    break;
                case "100":
                    rechargeMoney = "100";
                    this.lbl_money_tip.Text = rechargeMoney;
                    break;
                default:
                    break;
            }
        }
 如何使用这个事件呢?有两种方法
1、在VS2008中依次选中每一个RadioButton右击--“属性在属性中到CheckedChange事件,为其指定为新写的事件。如下图:
2、在初始化窗体的时候添加如下代码:
 
        public StartPage()
        {
            InitializeComponent();
            this.radio_Money_10.CheckedChanged += new EventHandler(this.radioBtn_CheckedChange);
            this.radio_Money_20.CheckedChanged += new EventHandler(this.radioBtn_CheckedChange);
            htmlradio添加切换事件this.radio_Money_30.CheckedChanged += new EventHandler(this.radioBtn_CheckedChange);
            this.radio_Money_40.CheckedChanged += new EventHandler(this.radioBtn_CheckedChange);
            this.radio_Money_50.CheckedChanged += new EventHandler(this.radioBtn_CheckedChange);
            this.radio_Money_100.CheckedChanged += new EventHandler(this.radioBtn_CheckedChange);
        }
到此这个简单的方法就完成了,让我少写了不少的垃圾代码;可以举一反三。比如复选框被选中,传出去一个值等等。这也让我对委托有了更清晰了理解。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。