问题描述
- C#编程 其中radioButton控件48个,button控件24个,请教各位大牛,如何简化编写,功能如下代码重复24次。 1C
- private void radioButton1_CheckedChanged(object sender EventArgs e)
{
if (radioButton1.Checked == true)button1.BackColor = Color.Red; }
private void radioButton2_CheckedChanged(object sender EventArgs e)
{
if (radioButton2.Checked == true)
button1.BackColor = Color.Blue;
}
private void button1_Click(object sender EventArgs e)
{
button1.BackColor = Color.White;
radioButton1.Checked = false;
radioButton2.Checked = false;
}
解决方案
MFC Radio Button控件编程
MFC Radio Button控件编程
RadioButton控件
解决方案二:
不是很明白你的功能需求.也许有更好的设计方案
目前来说.可以考虑将radioButton控件放到radioButton数组中..
要么就定义一个函数参数为你需要操作到的对象每次调用将对象传进来进行相应操作
解决方案三:
把所有的click事件都设置为这个方法
解决方案四:
直接指向同一个事件 啊
解决方案五:
Private Void radioButton_checkedchange(object senderEventArgs e)
{
If(((RadioButton)sender).checked==true)
((RadioButton)sender).BackColor=Color.Red;
}
手机手打不易,巧用sender!
解决方案六:
public partial class Form1 : Form { public Form1() { InitializeComponent(); AddEvent(); } private void buttonClick(object sender EventArgs e) { //这里写入你希望做的内容 Button btnTmp = (Button)sender; btnTmp.Text = DateTime.Now.ToString(); } /// <summary> /// 遍历控件,绑定方法。 /// </summary> private void AddEvent() { Button btnTmp; foreach (Control ctrlTmp in this.Controls) { if (ctrlTmp is Button) { //如果你窗口或者容器上,只希望某部分这类控件绑定,就设定这些控件的Tag属性,这里增加判断if(btnTmp.Tag=...),或者通过名称判断等方法。 btnTmp = (Button)ctrlTmp; btnTmp.Click += buttonClick; } } } }