当多个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);
}

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

转载于:https://www.cnblogs.com/jRoger/articles/1883155.html

WinForm的RadioButton使用小技巧相关推荐

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

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

  2. winform在表格中输入一个完整的时间字段_【ArcGIS小技巧视频教程】(5):在ArcGIS中挂接其他数据...

    ​我们在制图的过程中可能会遇到这样的问题:我们在拿到一幅地图和一些表格数据,我们想把表格数据附属到地图上,并进行渲染显示.今天我们就分享一下如何将一些外接的表格数据,挂接到已有地图的属性表上,文末附视 ...

  3. SmartForms 小技巧

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

  4. latex 公式不居中_LaTex小技巧,祝你论文一臂之力!

    LaTex作为常用的排版系统,已深入到大家的工作和学业中.但是很多小伙伴反馈说:LaTex公式编辑复杂.表格处理麻烦等.为此,我们特别收集了一些LaTex的小技巧,希望大家都可以get到! 公式篇 首 ...

  5. 中文 查询_查询商标,商标注册通过分析的几个小技巧

    前面我们说到了商标注册前,通常情况下一定要进行商标查询,要进行注册通过可行性分析.只有这样才能保证基本的商标注册通过率,不至于无畏的浪费我们的时间和金钱. 1.我们在进行商标查询,输入要查询的商标时, ...

  6. 日常安排php,PHP日常开发小技巧

    PHP日常开发小技巧 导语:PHP语言中,如果你懂得一些开发技巧,那么对你学PHP,会有很大的帮助.下面的是百分网小编为大家整理的PHP日常开发小技巧,希望对你能有所帮助. PHP批量取得checkb ...

  7. 敲代码括号技巧_阅码神奇Souceinsight使用小技巧总结

    /****与SI的初遇****/ 对于大部分人第一次使用SI来说应该是对原IDE集成开发环境有很大的抱怨吧,确实我也一样,对于做嵌入式开发使用各种集成开发工具,比如说Keil,IAR等等,可能还有更加 ...

  8. eplan文本怎么换行_EPLAN几个使用的小技巧,非常有用

    Eplan P8 的一些小技巧 1. 页名后缀由字母变数字 ? 选项 - 设置 - 项目 - 管理 - 页 - 页名 - 子页标识 2. 修改自动连接电缆颜色 ? 选项 - 层管理 - 符号图形 3. ...

  9. rust熔炉怎么带走_Rust游戏中12个实用小技巧,包含无伤下坠、直梯爬楼

    Rust是一款第一人称生存网络游戏,有点像野外求生,但这款游戏内容则更加丰富.刺激.血腥. 在这款游戏中玩家的第一任务就是活下来,而想要活下来你将要接受饥饿.干渴.寒冷等.游戏中玩家需要建造自己的庇护 ...

最新文章

  1. Possible MySQL server UUID duplication for server
  2. 源码资本深耕“三横九纵”科技助力网聚优秀企业
  3. C# 常用正责表达式
  4. MyEclipse显示 Install new software 在线安装插件选项
  5. 1、python基础速成
  6. 崇高文本_崇高文本片段指南
  7. VS2003创建动态库的一点笔记
  8. linux添加磁盘分区,linux添加磁盘分区
  9. Android 集成科大讯飞语音并实现语音识别
  10. 01-Axure9入门培训
  11. 大学课程 | 《微机原理与接口技术》知识点总结
  12. 面经 - JAVA知识点
  13. matlab 1stopt,1stOpt或者MATLAB自定义公式曲线拟合 - 计算模拟 - 小木虫 - 学术 科研 互动社区...
  14. UI 设计师不容错过的12款APP UI 交互设计
  15. Android原生开发饱和后,为什么还有这么多人没转行?,渣本Android开发小伙如何一步步成为架构师
  16. 12- 定时器介绍和定时器0定时1ms
  17. 哲理故事与管理之道(22)-用竞争激励下属
  18. 【C++ 科学计算】矩阵元素绝对值小于设定值时,元素值变为零
  19. NLP 实战 (7) | 热榜算法更新
  20. 访问苹果开发者网站太慢

热门文章

  1. CentOS7路由、端口和服务排障常用命令
  2. Python 正则表达式 匹配任意字符
  3. 两个div叠加触发事件发生闪烁问题
  4. 在Windows下使用MinGW静态编译Assimp
  5. [Linux][Hadoop] 将hadoop跑起来
  6. 利用HttpModuler实现WEB程序同一时间只让一个用户实例登陆
  7. HTML textarea标签属性
  8. bootstrap 栅栏系统
  9. 浴火银河星际跳跃(并查集)
  10. Mysql 批量写入数据 性能优化