自定义按钮:点击标签

时间:2016-01-22 09:45:00

标签: c# winforms events event-handling

我需要创建自定义Button - Panel,其中包含2个Label,以获得良好的视觉格式。

但我需要点击Label的面板来触发event,例如MouseDown,或者我需要将event分配给两个标签。

我尝试创建UserControl,但问题是相同的 - 如果我将MouseDown事件设置为UserControl,则其中的标签会阻止点击控件本身。

如果我设置为Label.Enable = false它会解决该问题,但会生成另一个问题 - Label上的文字变为gray且该属性我无法覆盖(我需要黑色文字,而某些{发生{1}}。

1 个答案:

答案 0 :(得分:3)

您可以做的是在MouseDown传播event Label,为MouseDown

event Panel致电>
private void panel1_MouseDown(object sender, MouseEventArgs e) {
    //Do something here
}

private void label2_MouseDown(object sender, MouseEventArgs e) {
    panel1_MouseDown(sender, e);
}

要区分sender,您可以将senderlabel事件与Label事件保持一致(Panel) - 不要将其更改为panel_MouseDown。以防您在{{1}}。

中需要一些区别