我需要创建自定义Button
- Panel
,其中包含2个Label
,以获得良好的视觉格式。
但我需要点击Label
的面板来触发event
,例如MouseDown
,或者我需要将event
分配给两个标签。
我尝试创建UserControl
,但问题是相同的 - 如果我将MouseDown
事件设置为UserControl
,则其中的标签会阻止点击控件本身。
如果我设置为Label.Enable = false
它会解决该问题,但会生成另一个问题 - Label
上的文字变为gray
且该属性我无法覆盖(我需要黑色文字,而某些{发生{1}}。
答案 0 :(得分:3)
您可以做的是在MouseDown
传播event
Label
,为MouseDown
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
,您可以将sender
个label
事件与Label
事件保持一致(Panel
) - 不要将其更改为panel_MouseDown
。以防您在{{1}}。