Winform控件更改事件触发

时间:2017-05-10 13:28:23

标签: winforms c#-4.0

我开发了一个winform,它有几个单选按钮,Checkboxes,Dropdown和一个文本框。需要根据上述控件中的选择填充文本框,

例如:如果选择radiobtn1,请检查Box1& dropdown1的第一个值,那么它应该像下面的

txtBox.text =  radiobtn1.Text_checkBox1.Text_dropdown1.SelectedIndex

对此进行了浏览,我发现它可以使用委托来完成,但我有12个控件,你建议使用委托吗? 还有其他简短的方法来编写这段代码吗?

1 个答案:

答案 0 :(得分:0)

编写代码的最简单方法可能是创建一个填充文本框的事件处理程序。它看起来像这样:

private void UpdateTextbox(object sender, EventArgs e)
{
    //find the text
    txtBox.Text = string.Format("{0}_{1}_{2}", radiobtn1.Text, checkBox1.Text, dropdown1.SelectedIndex);
}

然后,您只需通过将其他控件更改为事件处理程序来链接所有引发的事件。

//Add these lines to the constructor of your control
radiobtn1.CheckChanged += UpdateTextbox;
checkbox1.CheckChanged += UpdateTextbox;
//and so on