C# 如何引发鼠标点击事件?

C# 如何引发鼠标点击事件?,c#,events,C#,Events,你好 我已经读到,事件可以像方法一样引发。它适用于我的自定义事件(我创建了一个委托、事件,并且可以通过调用它来引发事件)。 但是,我无法手动引发MouseClick和other等事件,它一直说它必须出现在+=操作符的左侧。有什么问题吗?如果这是一个按钮,您可以使用该方法以编程方式单击它 遗憾的是,这只适用于按钮,而不适用于其他类型的控件。。。除了菜单项如果要单击按钮,应调用: button1.PerformClick(); 如果您想调用MouseClick,请参考此内容,c#中使用window

你好 我已经读到,事件可以像方法一样引发。它适用于我的自定义事件(我创建了一个委托、事件,并且可以通过调用它来引发事件)。
但是,我无法手动引发MouseClick和other等事件,它一直说它必须出现在+=操作符的左侧。有什么问题吗?

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


遗憾的是,这只适用于按钮,而不适用于其他类型的
控件。。。除了
菜单项

如果要单击按钮,应调用:

button1.PerformClick();

如果您想调用MouseClick,请参考此内容,c#中使用windows api有一个解决方案:

虽然我相信您会得到比此答案更详细的其他答案,但基本上您不能在包含它的类之外“引发”事件。MSDN已经发布了关于事件的信息

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


如果您想为Windows窗体控件鼠标单击引发事件,则必须创建该控件的子类,并调用base.OnMouseClick()或重写它

假设您想手动引发事件“单击”。这对我很有用:

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);
}
public partial class CustomButton : UserControl
{
    public new event EventHandler Click;

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

}

没有可发布的代码。。试着手动引发这个。鼠标点击事件。天啊,是的,我想这就是原因:D谢谢!