我该如何添加事件参数?如果我在System.EventHandler(,)内添加我收到一个错误

时间:2013-07-22 20:27:39

标签: c# events eventargs

如何添加事件参数?如果我在System.EventHandler(,)中添加,我会收到错误。

class RadioButtonChecked: EventArgs
{
    private int m_ButtonNumber;

    public RadioButtonChecked(int num)
    {
        m_ButtonNumber = num;
    }

    public int ButtonNumber
    {
        get { return m_ButtonNumber; }
    }
}

this.radioButton1.Click += new System.EventHandler(this.radioButton_CheckedChanged);
this.radioButton2.Click += new System.EventHandler(this.radioButton_CheckedChanged);

private void radioButton_CheckedChanged(object sender, RadioButtonChecked e)
{
//do something...
}

1 个答案:

答案 0 :(得分:2)

处理程序的签名应为:

private void radioButton_CheckedChanged(object sender, EventArgs e)

它应该与Click事件所期望的签名完全匹配。您仍然可以传入您的RadioButtonChecked(按照惯例,应该命名为RadioButtonCheckedEventArgs),因为它派生自EventArgs。如果你想在处理程序中对事件做一些事情,你可以把它强制转换回RadioButtonChecked。