在Form1上动态添加了3个ChickBox控件,怎样实现只能使其中的一个被选中呢?即:当其中一个被选中后,再选择其他ChickBox时,弹出对话框,提示:“已经选择了checkBox,请不要重复选择!”我写成下面的形式:private void Form1_Load(object sender, System.EventArgs e)
{
System.Windows.Forms.CheckBox checkBox1=new CheckBox();
checkBox1.Text="Control1a";
checkBox1.Name="1";
checkBox1.Top=50;
checkBox1.Left=120;
this.Controls.Add(checkBox1 );
checkBox1.Click += new EventHandler(myEvent); System.Windows.Forms.CheckBox checkBox2=new CheckBox();
checkBox2.Text="Control1b";
checkBox2.Name="2";
checkBox2.Top=50;
checkBox2.Left=120;
this.Controls.Add(checkBox2);
checkBox2.Click += new EventHandler(myEvent); System.Windows.Forms.CheckBox checkBox3=new CheckBox();
checkBox3.Text="Controlc";
checkBox3.Name="3";
checkBox3.Top=200;
checkBox3.Left=320;
this.Controls.Add(checkBox3 );
checkBox3.Click += new EventHandler(myEvent); }
private void myEvent(Object sender, EventArgs e)
{
System.Windows.Forms.CheckBox tmpCheckBox =(CheckBox)sender; for(int i=1;i<=tmpCheckBox.Parent.Controls.Count;i++)
// for(int i=1;i<this.Controls[0].Controls.Count;i++)
{
if (tmpCheckBox.Parent.Controls[i].Name!=tmpCheckBox.Name)
{
MessageBox.Show("已经选择了checkBox,请不要重复选择!");
return;
}
}
}运行后,checkBox1、checkBox2、checkBox3可以多选,每次单击checkBox1、checkBox3都出现提示框,而且单击checkBox2时不会出现提示框。不知道为什么单击checkBox2时不会出现提示框?而且这也不是我要得到的结果。请大家帮我看一下:怎样实现3个ChickBox控件中只能选中其中的一个,当选中这个ChickBox控件后,再单击其他任何一个都会提示“已经选择了checkBox,请不要重复选择!”呢?
{
System.Windows.Forms.CheckBox checkBox1=new CheckBox();
checkBox1.Text="Control1a";
checkBox1.Name="1";
checkBox1.Top=50;
checkBox1.Left=120;
this.Controls.Add(checkBox1 );
checkBox1.Click += new EventHandler(myEvent); System.Windows.Forms.CheckBox checkBox2=new CheckBox();
checkBox2.Text="Control1b";
checkBox2.Name="2";
checkBox2.Top=50;
checkBox2.Left=120;
this.Controls.Add(checkBox2);
checkBox2.Click += new EventHandler(myEvent); System.Windows.Forms.CheckBox checkBox3=new CheckBox();
checkBox3.Text="Controlc";
checkBox3.Name="3";
checkBox3.Top=200;
checkBox3.Left=320;
this.Controls.Add(checkBox3 );
checkBox3.Click += new EventHandler(myEvent); }
private void myEvent(Object sender, EventArgs e)
{
System.Windows.Forms.CheckBox tmpCheckBox =(CheckBox)sender; for(int i=1;i<=tmpCheckBox.Parent.Controls.Count;i++)
// for(int i=1;i<this.Controls[0].Controls.Count;i++)
{
if (tmpCheckBox.Parent.Controls[i].Name!=tmpCheckBox.Name)
{
MessageBox.Show("已经选择了checkBox,请不要重复选择!");
return;
}
}
}运行后,checkBox1、checkBox2、checkBox3可以多选,每次单击checkBox1、checkBox3都出现提示框,而且单击checkBox2时不会出现提示框。不知道为什么单击checkBox2时不会出现提示框?而且这也不是我要得到的结果。请大家帮我看一下:怎样实现3个ChickBox控件中只能选中其中的一个,当选中这个ChickBox控件后,再单击其他任何一个都会提示“已经选择了checkBox,请不要重复选择!”呢?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货