我需要在程序中动态加载n个RadioButton 控件(n不确定,根据程序的运行情况而定),但是我要处理这n个RadioButton 按钮的CheckedChanged事件,怎么写这些事件的处理过程啊(其实他们的处理过程都一样,就是把form里面的一个string类型的变量赋不同的值),因为n不确定,我怎么知道写多少个这样的
private void radioButton1_CheckedChanged(Object sender,
EventArgs e)
{
this.strTest = radioButton1.Text;
}
事件处理程序呢?
private void radioButton1_CheckedChanged(Object sender,
EventArgs e)
{
this.strTest = radioButton1.Text;
}
事件处理程序呢?
{
int i = 0;
RadioButton rb = new RadioButton();
rb.Location = new Point(10, rb.Height * 0);
rb.CheckedChanged += new EventHandler(rb_CheckedChanged);
}void rb_CheckedChanged(object sender, EventArgs e)
{
}
void rb_CheckedChanged(object sender, EventArgs e)
{
RadioButton rb = sender as RadioButton;
if (rb != null)
{
switch (rb.Text)
{
case "":
break;
default:
break;
}
}
}
void rb_CheckedChanged(object sender, EventArgs e)
{
RadioButton rb = sender as RadioButton;
if (rb != null)
{
this.strTest = rb.Text;
}
}
{
}
所有的RadioButton 的处理函数都用这一个就可以也就是
private void button11_Click(object sender, EventArgs e)
{
int i = 0;
RadioButton rb = new RadioButton();
rb.Location = new Point(10, rb.Height * 0);
rb.CheckedChanged += new EventHandler(rb_CheckedChanged); RadioButton rb2 = new RadioButton();
rb2.Location = new Point(10, rb.Height * 1);
rb2.CheckedChanged += new EventHandler(rb_CheckedChanged);
...
RadioButton rbn = new RadioButton();
rbn.Location = new Point(10, rb.Height * n);
rbn.CheckedChanged += new EventHandler(rb_CheckedChanged);
}
也可以吧?
for(int i=0;i<10;i++)
{
RadioButton rb = new RadioButton();
rb.Location = new Point(10, rb.Height * i);
rb.CheckedChanged += new EventHandler(rb_CheckedChanged);//都是一个事件处理方法
}
{
RadioButton rb = new RadioButton();
rb.CheckedChanged += new EventHandler(rb_CheckedChanged);
This.Control.add(rb)
}void rb_CheckedChanged(object Sender, EventArgs e)
{
//这里判断到底是哪个RadioButton触发事件了
((RadioButton)Sender).属性.. <--这个就是触发事件的rb了
}