从子事件中触发父事件 Visual Studio

Firing parent event from childrens' events Visual Studio

我有一个包含图片框和标签的自定义用户控件。我希望在用户双击 UserControl 边界内的任意位置时发生某些事情。但是,图片框和标签会阻止双击事件被 UserControl 捕获,因此双击只会在单击未被图片框或标签遮挡的区域时注册。

我试过在图片框和标签上强制双击事件来调用 UserContol 的 OnMouseDoubleClick() 函数,但它没有按预期工作:

pictureBox1.MouseDoubleClick += Double_Click;
label1.MouseDoubleClick += Double_Click;

...

private void Double_Click(object sender, MouseEventArgs e)
{    
    // Raises UserControl's double-click event      
    this.OnMouseDoubleClick(e); 
}

为什么双击图片框或标签不会引发 UserControl 的 OnMouseDoubleClick 事件?

试试这个代码,它对我有用:

label1.DoubleClick += label1_DoubleClick;
pictureBox1.DoubleClick += pictureBox1_DoubleClick;

private void label1_DoubleClick(object sender, EventArgs e)
{
    OnDoubleClick(e);
}

private void pictureBox1_DoubleClick(object sender, EventArgs e)
{
    OnDoubleClick(e);
}