如何在视觉上让用户知道选择了什么?

时间:2010-11-20 01:15:33

标签: c# winforms user-controls

例如,我有一个userControl,我希望用户能够“选择”。

以下是我正在使用的代码:

private void ptbImage_Click(object sender, EventArgs e)
{
    SelectControl();
}

private void SelectControl()
{
    this.BackColor = Color.FromArgb(235, 243, 253);
}

如果我在这个用户控件中有很多控件,很快就会变得混乱! :P是否有全局环绕每个控件?就像控件内部所有内容的Click事件一样。如果没有,我将手动创建一个单击,即使每个控件全局捕获输入。谢谢!

alt text

3 个答案:

答案 0 :(得分:1)

...是

您可以将每个控件的事件链接到相同的事件方法,如下所示:

ptbImage1.Click += new System.EventHandler(ptbImage_Click);
ptbImage2.Click += new System.EventHandler(ptbImage_Click);
ptbImage3.Click += new System.EventHandler(ptbImage_Click);

等。

答案 1 :(得分:0)

在窗体的InitializeComponent方法中,您可以通过窗体上的每个控件运行foreach,并将Click事件处理程序设置为ptbImage_Click

答案 2 :(得分:0)

foreach (Control ctrl in yourContainerControl.Controls)  {
    ctrl.Click += new System.EventHandler(ctrl_Click);   
}

您还可以在应用程序范围内捕获事件,并在将它们定向到控件本身之前对其进行处理。