0

私は 2 つのクラスを持っている立場にあり、1 つにはボタンのイベント ハンドラーがあり、ボタン以外のクラスを変更するには、もう 1 つのクラスでそのイベント ハンドラーをリッスンできる必要があります。このタイプのシナリオの経験があまりないため、どこから始めればよいかよくわかりません。

4

1 に答える 1

0

この2つのクラスの例を次に示します(質問を正しく理解した場合)。

class Form
{
    Button _button1, _button2;

    public Form()
    {
        _button1 = new Button("button1");
        _button2 = new Button("button2");

        _button1.Click += _button_Click;
        _button2.Click += _button_Click;
    }

    void _button_Click(object sender, EventArgs e)
    {
        Button button = (Button)sender;
        Console.WriteLine(button.Name);
    }

    public void Click1()
    {
        _button1.FireEvent();
    }

    public void Click2()
    {
        _button2.FireEvent();
    }
}

class Button
{
    public event EventHandler Click;
    public string Name;

    public Button(string name)
    {
        Name = name;
    }

    public void FireEvent()
    {
        Click(this, new EventArgs());
    }
}

使用法:

    Form f = new Form();

    f.Click1();
    f.Click2();
于 2013-11-07T23:05:30.927 に答える