Winform 可取消的单选按钮(RadioButton)
在项目当中有一组选择项,要求单选并且可以取消,但Winform提供的单选按钮一旦选择上就不能取消了,经过研究和测试,总算搞定了功能的要求,主要代码如下,就不一一说明了,代码里有注释,给有需要的朋友一个参考,Demo在下面。


private bool checkedStatus = false;
/// <summary>
/// 当前按钮选择状态,true已选择
/// </summary>
public bool CheckedStatus
{
get {
return checkedStatus;
}
set {
checkedStatus = value;
}
} public VoidableRadioButton()
: base()
{ } protected override void OnCheckedChanged(EventArgs e)
{
base.OnCheckedChanged(e);
if (!this.Checked)
{
checkedStatus = false;
}
} protected override void OnClick(EventArgs e)
{
base.OnClick(e);
if (checkedStatus)
{
this.Checked = false;
//Checked=false触发了CheckedChanged,所以这里应该把状态重置为true
checkedStatus = true;
}
checkedStatus = !checkedStatus;
}
源码下载:
Winform 可取消的单选按钮(RadioButton)的更多相关文章
- .net中单选按钮RadioButton,RadioButtonList 以及纯Html中radio的用法实例?
.net中单选按钮RadioButton,RadioButtonList 以及纯Html中radio的用法,区别? RadioButton实例及说明: <asp:RadioButton ID=& ...
- C# WinForm开发 取消窗体关闭按钮
//禁用窗体的关闭按钮 private const int CP_NOCLOSE_BUTTON = 0x200; protected override CreateParams CreateParam ...
- Android 单选按钮(RadioButton)和复选框(CheckBox)的使用
1.RadioButton (1)介绍 (2)单选按钮点击事件的用法 (3)RadioButton与RadioGroup配合使用实现单选题功能 (4)xml布局及使用 <?xml version ...
- Android控件-单选按钮RadioButton
RadioGroup单选按钮用法,还是先看效果图 先中后,点RadioGroup测试按钮,可在标题栏显示选择结果,点清除可以清除选择.下面上代码,main.xml: <RadioGroup an ...
- winform窗体取消最大化双击标题最大化
实现目标,固定窗体大小,1.窗体标题去掉最大化按钮2.双击窗体标题也不会最大化,彻底取消最大化 问题,如果设置窗体MaximizeBox和MinimumSize属性,看似问题解决了,单随之而来的问题是 ...
- wpf 自定义单选按钮 RadioButton
新建RadioButtonEx.cs public class RadioButtonEx : RadioButton { public Geometry SelectIcon { get { ret ...
- Android基础控件单选按钮RadioButton和Checkbox复选按钮的使用
1.相关简介 RadioButton需要和RadioGroup结合使用,在RadioGroup设置布局方式! Checkbox是单独使用,本文为了方便放在了RadioGroup中! 2.简单使用 方法 ...
- Winform DataGridView 取消默认选中行
困境 网上有很多解决方法,可是很多读者照做并不生效.追究其原因,问题出现在许多博主没有搞清楚DataGridView绑定与当前触发事件的关系. 复现 private void Frm_Load(obj ...
- 单选按钮(RadioButton)与复选框(CheckBox)的功能与用法
单选按钮(RadioButton)和复选框(CheckBox).状态开关按钮(ToggleButton)与开关(Switch)是用户界面中最普通的UI组件,他们都继承了Button类,因此都可直接使用 ...
随机推荐
- 新版Xcode无法新建iOS空项目解决方案
--感谢同学分享-- 操作说明: 拷贝Empty Application.xctemplate文件夹至 /Contents/Developer/Platforms/iPhoneOS.platfor ...
- Xilinx的约束文件
FPGA中有三种约束文件,分别是用户设计文件(.ucf文件),网表约束文件(.NCF文件)与物理约束文件(.PCF文件). 在设计阶段,需要硬件描述文件与UCF文件,经过综合后生成NCF文件,最后得到 ...
- Nodejs在centos下的安装
新学了nodejs,发现在centos下面安装的时候,与windows有一些不同的地方,以前习惯在安装不上的时候,去百度出来,解决了以后,当时都记住如何解决的了,但是过了一段时间以后,就全都忘记光了, ...
- jxl 处理 Excel 样式
jxl 能够操作的 excel 样式: 1. Workbook的格式设置(代表一个excel文件) 2. Sheet的格式设置(代表一个表格) 3. Cell的格式设置(代表一个单元格) PS:此jx ...
- JSON字符串解析
有时保存在数据库的数据是一串json字符串,需要进行读取的时候就需要解析操作. 简单介绍两种: 1.net.sf.json.* 2.com.alibaba.fastjson.* 需要的包自行下载. 第 ...
- css3之背景新属性
background属性 属性 描述 background-origin 背景图片的定位区域 background-size 背景图片尺寸 background-image:url(),url();允 ...
- C++基础知识易错点总结(1)
1. 在C++中,不能被重载的运算符有: sizeof . 成员运算符 .* 成员指针运算符 :: 作用域运算符 ?: 条件运算符 2. C++语言多态性:编译时多态和运行时多态: 编译时多态可通过函 ...
- linux下配置nginx使用service nginx start 服务
解压出来后执行 mkdir /var/tmp/nginx/client/ -pv 接下来我们简单的为它提供一个服务脚本吧! # vim /etc/init.d/nginx 新建文件/etc/rc.d ...
- sql server 分布式查询 和 主从服务器搭建
1. 8K 对应的SQL语句限制 select * from openquery (recei 连接服务器名称 执行的sql 语句放在 SELECT @@SERVERNAME 在本地 ...
- mybatis多数据源配置
项目目录如下: 按照顺序配置吧 首先是配置config jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/a ...