如何提高鼠标点击事件?

时间:2011-03-23 19:30:58

标签: c# events

您好 我已经读过可以像方法一样引发事件。它适用于我的自定义事件(我创建一个委托,事件,我可以通过调用它来引发事件)。 但是我无法手动引发像MouseClick等其他事件,它一直说它必须出现在+ =运算符的左侧。有什么问题?

5 个答案:

答案 0 :(得分:4)

虽然我确信你会得到比这个更有用的其他答案,但基本上你不能“提升”包含它的类之外的事件。 MSDN有关于事件的this to say

  

事件是一种特殊的多播   委托只能从中调用   在他们的类或结构中   声明(发布者类)。如果   其他类或结构订阅   事件,他们的事件处理程序方法   将在发布者时调用   上课引发了这一事件。

如果你想为Windows Forms Control MouseClick提升事件,你必须创建该控件的子类,并调用base.OnMouseClick()或覆盖它。

答案 1 :(得分:2)

如果这是一个按钮,您可以使用PerformClick方法以编程方式单击它。

可悲的是,这仅适用于按钮,而不适用于Control以外的其他类型... MenuItem

答案 2 :(得分:1)

如果您想点击按钮,请致电:

button1.PerformClick();

如果你想调用MouseClick请参考这个forum,使用windows api在c#中有解决方案:

答案 3 :(得分:0)

private void button1_Click(object sender, EventArgs e)
{
    //Enter your code here
}

void Page_Load(object sender, EventArgs e){
    this.button1.Click += new System.EventHandler(this.button1_Click);

    this.button1_Click(this, e);
}

答案 4 :(得分:0)

假设您要手动提升事件“点击”。这对我有用:

public partial class CustomButton : UserControl
{
    public new event EventHandler Click;

    private void lblText_Click(object sender, EventArgs e)
    {
        Click(this, e);
    }

}