sinat_29043345
sinat_29043345
采纳率0%
2015-12-15 13:05 阅读 1.7k

C#编程 其中radioButton控件48个,button控件24个,请教各位大牛,如何简化编写,功能如下代码重复24次。

1

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;
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • wr10980170 王倔驴 2015-12-15 15:04

    把所有的click事件都设置为这个方法

    点赞 2 评论 复制链接分享
  • Cboyce Cboyce 2015-12-15 14:47

    不是很明白你的功能需求.,也许有更好的设计方案

    目前来说.可以考虑将radioButton控件放到radioButton数组中..
    要么就定义一个函数,参数为你需要操作到的对象,,每次调用将对象传进来进行相应操作

    点赞 1 评论 复制链接分享
  • h1525947163 归来时仍是少年 2015-12-15 13:30

    直接指向同一个事件 啊

    点赞 评论 复制链接分享
  • sun313696376 sun313696376 2015-12-16 01:48

    Private Void radioButton_checkedchange(object sender,EventArgs e)
    {
    If(((RadioButton)sender).checked==true)
    ((RadioButton)sender).BackColor=Color.Red;
    }
    手机手打不易,巧用sender!

    点赞 评论 复制链接分享
  • asianh asianh 2015-12-16 05:08
     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;
                    }
                }
            }
        }
    
    点赞 评论 复制链接分享

相关推荐