我如何在C#中调用事件方法?

当我在c#中创建按钮时,它会创建私人无效按钮?_click(object sender,EventArgs e)方法。

如何从button2_click调用button1_click方法? 可能吗?

我正在使用Windows窗体。


// No "sender" or event args
public void button2_click(object sender, EventArgs e)
{
   button1_click(null, null);
}

要么

// Button2's the sender and event args
public void button2_click(object sender, EventArgs e)
{   
   button1_click(sender, e);
}

或者如Joel所指出的那样:

// Button1's the sender and Button2's event args
public void button2_click(object sender, EventArgs e)
{   
   button1_click(this.button1, e);
}

如何从button2_click调用button1_click方法? 可能吗?

它完全可能调用按钮的点击事件,但这是一种不好的做法。 将代码从您的按钮移动到一个单独的方法。 例如:

protected void btnDelete_OnClick(object sender, EventArgs e)
{
    DeleteItem();
}

private void DeleteItem()
{
    // your code here
}

该策略使您可以直接调用代码,而无需调用任何事件处理程序。 此外,如果您需要将代码从您的代码中移出并放入单独的类或DLL中,则您已经领先两步。


您不提这是Windows窗体,ASP.NET还是WPF。 如果这是Windows窗体,则另一个建议是使用button2.PerformClick()方法。 我觉得这是“更清洁”,因为你不直接调用事件处理程序。

链接地址: http://www.djcxy.com/p/35697.html

上一篇: How do I call an event method in c#?

下一篇: Create a TabControl fom codebehind at a clickevent of a button