http://www.cnblogs.com/sjrhero/articles/1883155.html

当多个RadioButton同在一个容器里面的时候,多半的操作都是要得到其中一个的值这个时候我们就没有必要去为每一个RadioButton写一个CheckedChange事件,这样会写很多代码,太累了。这个时候我们就可以借住委托来添加一个新的事件,用新的事件代替所有RadioButton的CheckedChange事件。我要实现的要求就是:当选择中任意一个RadioButton的时候Label17就变成我选择的RadioButton的Text值

新事件代码如下:

 //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);
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);
}

到此这个简单的方法就完成了,让我少写了不少的垃圾代码;可以举一反三。比如复选框被选中,传出去一个值等等。这也让我对委托有了更清晰了理解

WinForm的RadioButton使用小技巧的更多相关文章

  1. winform之权限判断小技巧

    每个页面都要判断用户是否登陆并且判断用户是否拥有相应的权限,,以至于每个页面都要判断Session["user"]是否为空,后期不好维护 小技巧: 因为每个页面都继承与Page类, ...

  2. WinForm 清空界面控件值的小技巧

    原文:WinForm 清空界面控件值的小技巧 在WinForm里面有时候需要清空自己输入内容或是选择的选项,以便重新操作流程,那么一般你是怎么清空界面各个控件值的呢?如果窗体里面控件,尤其是TextB ...

  3. SmartForms 小技巧

    1.添加空行,保证每一页有固定的打印的表格行数 上图,每页最多打印13行,数据只有11行,自动添加两个空行补齐 代码如下“ "定义变量: data: l_blank type i. &quo ...

  4. .Net开发小技巧

    .NET项目开发中的小技巧 1.不要频繁的创建对象...这个损失是巨大的...new太多了,后果比较严重. 2.打开数据库后要及时的关闭连接,如果你不能做到一个open后跟一个close,那也没关系, ...

  5. 前端网络、JavaScript优化以及开发小技巧

    一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...

  6. Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具

    前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...

  7. 分享两个BPM配置小技巧

    1.小技巧 流程图修改后发布的话版本号会+1,修改次数多了之后可能会导致版本号很高,这个时候可以将流程导出,然后删除对应的流程包再导入,发布数据模型和流程图之后,版本清零 2.小技巧 有的同事入职后使 ...

  8. linux系统维护时的一些小技巧,包括系统挂载新磁盘的方法!可收藏!

    这里发布一些平时所用到的小技巧,不多,不过会持续更新.... 1.需要将history创建硬链接ln 全盘需要备份硬链接 ln /etc/xxx /home/xxx 2.root用户不可以远程 /et ...

  9. JS处理事件小技巧

    今天,就分享一下我自己总结的一些JS的小技巧: ①防止鼠标选中事件 <div class="mask" onselectstart="return false&qu ...

随机推荐

  1. 【leetcode】1106. Parsing A Boolean Expression

    题目如下: Return the result of evaluating a given boolean expression, represented as a string. An expres ...

  2. 1. svn 简介

    参考文档: http://svndoc.iusesvn.com/ SVN的 相关网站 什么是svn?Subversion是一个“集中式”的信息共享系统.版本库是Subversion的核心部分,是数据的 ...

  3. DI,依赖注入,给对象赋值 ,get,set,list,set,map,properties对象赋值

  4. 【BZOJ1132】Tro(叉积)

    题意:平面上有N个点. 求出所有以这N个点为顶点的三角形的面积和 N<=3000 N个点的坐标,其值在[0,10000] 思路:按从左到右的预处理点排序 每次枚举最左点作为原点,把叉积从大到小排 ...

  5. Java异常处理的基础知识

    Java中的异常捕获语句 Try{ //可能发生运行错误的代码: } catch(异常类型 异常对象引用){ //用于处理异常的代码 } finally{ //用于“善后” 的代码 } Java 中所 ...

  6. Java称霸编程语言排行榜

    笔者精挑细选了本周研发频道的热门看点,供您在这个周末阅读欣赏.内容涵盖TIOBE编程语言8月份排行榜.开源挑战.WebGL演示.HTML5在线工具.IT职业身涯的14个建议,还有即将举行的SDCC(中 ...

  7. Java 什么是守护线程

    前言 守护线程(即daemon thread),是个服务线程,准确地来说就是服务其他的线程,这是它的作用——而其他的线程只有一种,那就是用户线程.所以java里线程分2种, 1.守护线程,比如垃圾回收 ...

  8. 我的"开发工具箱"

    我使用的IDEA插件 Free Mybatis plugin Alibaba Java Coding Guidelines 我的IDEA开发配置 配置Maven Runner -DarchetypeC ...

  9. skip a transaction in goldengate

    skip a transaction in goldengate [oracle@db ]$ ggsci Oracle GoldenGate Command Interpreter for Oracl ...

  10. TreeSet 源码分析

    TreeSet 1)底层由 TreeMap 支持的 Set 接口实现,Set 中的元素按照自然顺序或指定的比较器排序. 创建实例 /** * 支持此 Set 的底层的 TreeMap 对象 */ pr ...