15

因此,单击“添加播放器”按钮时,我有以下代码

private void addPlayerBtn_Click_1(object sender, EventArgs e)
{
    //Do some code
}

但是,我想从我的 SDK 触发此代码。这是我尝试过的

private void command()
{       
    addPlayerBtn_Click_1(object sender, EventArgs e);          
}

我一输入就收到很多错误

 addPlayerBtn_Click_1(object sender, EventArgs e) 

有人可以告诉我如何编写代码,以便我可以通过将其写入代码来触发事件吗?

4

6 回答 6

31

其一,调用方法时,不声明参数的类型,只声明值。

所以这:

addPlayerBtn_Click_1(object sender, EventArgs e);

应该

addPlayerBtn_Click_1(sender, e);

现在,您必须声明senderand e。如果您有要传递的事件参数,这些可以是实际对象,或者:

addPlayerBtn_Click_1(null, EventArgs.Empty);

以上可以在 WinForms 或 ASP.NET 中使用。对于 WinForms,您还可以调用:

addPlayerBtn.PerformClick();
于 2012-12-24T19:17:22.490 回答
7

当你调用一个函数时,你提供的是实际参数,它们是值,而不是形式参数,它们是类型和参数名称。

改变

addPlayerBtn_Click_1(object sender, EventArgs e);

addPlayerBtn_Click_1(addPlayerBtn, EventArgs.Empty);
于 2012-12-24T19:17:35.677 回答
2
addPlayerBtn_Click_1(null, null);

如果您不需要 和 中的信息,则此方法sender有效e

于 2012-12-24T19:19:36.017 回答
2

您没有使用发送者或事件,因此您可以像这样直接调用该函数:

addPlayerBtn_Click_1(null, null);
于 2012-12-24T19:20:08.580 回答
2
private void command()
 {     
   addPlayerBtn.PerformClick();
 }
于 2017-11-05T16:18:58.887 回答
1
addPlayerBtn_Click_1(object sender, EventArgs e);

应该:

addPlayerBtn_Click_1(this, new EventArgs());
于 2012-12-24T19:17:38.390 回答