将ClassA中的事件处理程序添加到ClassB中调用的事件

本文关键字:ClassB 调用 事件 程序 ClassA 事件处理 添加 | 更新日期: 2023-09-27 18:07:13

我真的很纠结如何在我的应用程序中使用事件。我有两个文件:

RTimer.cs
SettingsForm.cs

我在RTimer.cs中设置了一个计时器,用于初始化计时器并设置间隔等。

我在SettingsForm.cs中有一个方法,每次计时器滴答时需要做一些事情。该文件还具有通过RTimer.cs

中的SetTimer()方法设置定时器间隔的方法。

我不能为我的生活弄清楚如何让Tick事件从另一个类调用方法,或者让另一个类中的方法订阅Tick事件。

将ClassA中的事件处理程序添加到ClassB中调用的事件

你可以这样实现:

class SettingsForm
{
    public void OnTimerEvent(object sender, EventArgs e)
    {
        throw new NotImplementedException();
    }
}
class RTimer
{
    Timer timer = new Timer();
    public void StartTimer(SettingsForm settingForm)
    {
        timer.Tick += settingForm.OnTimerEvent;
        timer.Interval = 5000;
        timer.Enabled = true;
    }
}