如何在UserControl中引发一个事件以便在另一个项目中在外部处理它?

我来之后question。在我的CustomControl中,我想处理所有内部控件'MouseClick事件,然后为customControl引发一个事件,所以我可以在每个使用该控件的项目中处理它。如何在UserControl中引发一个事件以便在另一个项目中在外部处理它?

private void UserControl1_Load(object sender, EventArgs e) 

{

foreach (var control in Controls)

{

((Control)control).MouseClick += UserControl1_Click;

}

}

private void UserControl1_Click(object sender, MouseEventArgs e)

{

// here I want to raise a MouseClick event for UserControl1?

}

我该如何解决这个问题? (我想这也许是喜欢当我们捕捉异常,然后再扔掉它到别的地方抓住它?)

回答:

试试这个:

private void UserControl1_Click(object sender, MouseEventArgs e) 

{

// Raise MouseClick event for this control

base.OnMouseClick(e);

}

回答:

简单:

Public Event MouseClick(ByVal sender As Object, ByVal e As MouseEventArgs) 

Private Sub UserControl1_Click (object sender, MouseEventArgs e)

RaiseEvent MouseClick(sender, e)

End Sub

然后外面处理MouseClick事件。 (我把代码放在Vb.Net中,因为你在你的问题中标记了它,但很容易转换它)。

以上是 如何在UserControl中引发一个事件以便在另一个项目中在外部处理它? 的全部内容, 来源链接: utcz.com/qa/259330.html

回到顶部