相关文章推荐
朝气蓬勃的面包  ·  Spring ...·  1 年前    · 
安静的水桶  ·  pdf.js viewer.js ...·  1 年前    · 
强悍的牛排  ·  用python获取PDF的目录·  1 年前    · 
内向的馒头  ·  xClass 属性 - UWP ...·  1 年前    · 
在C#中需要对五个checkbox做单选的判断,就是checkbox1被选为true,2345都为false,可是写checkbox1——checkedchanged点击事件需要写五遍,有什么不那么繁琐的写法么?前提是界面上不... 在C#中需要对五个checkbox做单选的判断,就是checkbox1被选为true,2345都为false,可是写checkbox1——checkedchanged点击事件需要写五遍,有什么不那么繁琐的写法么?前提是界面上不止这五个checkbox,但是只对这五个做判断,而且所有checkbox都是在一张panel上的。 最简单的方法。用RadioButton控件就行了。何苦搞得这么累呢。如果真要这样做也可以就是五个控件共用一个事件同时订阅相同事件然后再判断你选中的Checkbox其他的为假代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.checkBox1.CheckedChanged += new EventHandler(checkBox1_CheckedChanged);
this.checkBox2.CheckedChanged += new EventHandler(checkBox1_CheckedChanged);
this.checkBox3.CheckedChanged += new EventHandler(checkBox1_CheckedChanged);
this.checkBox4.CheckedChanged += new EventHandler(checkBox1_CheckedChanged);
this.checkBox5.CheckedChanged += new EventHandler(checkBox1_CheckedChanged);
}

void checkBox1_CheckedChanged(object sender, EventArgs e)
{
CheckBox checkcontrol = sender as CheckBox;
if (checkcontrol.Checked == true)
{
foreach (Control item in this.panel1.Controls)
{
if (item == sender)
{
continue;
}
((CheckBox)item).Checked = false;
}
}
}

}
}