gpt4 book ai didi

c# - 'method' 没有重载匹配委托(delegate) 'System.EventHandler'

转载 作者:太空狗 更新时间:2023-10-29 20:59:29 26 4
gpt4 key购买 nike

我正在尝试构建一个程序,单击按钮后,每 5 秒将执行一次该功能 (OnTimed)。

下面是目前的代码:

private void bntCapture_Click(object sender, RoutedEventArgs e)
{
DispatcherTimer t1 = new DispatcherTimer();
t1.Interval = TimeSpan.FromMilliseconds(5000);
t1.IsEnabled = true;
t1.Tick += new EventHandler(OnTimed);
t1.Start();
}

void OnTimed(object sender, ElapsedEventArgs e)
{

imgCapture.Source = imgVideo.Source;
System.Threading.Thread.Sleep(1000);
Helper.SaveImageCapture((BitmapSource)imgCapture.Source);
}

当我运行代码时,它显示错误:

"No overload for 'method' matches delegate 'System.EventHandler'

最佳答案

事件处理方法的签名与委托(delegate)类型不兼容。

DispatcherTimer.Tick 的订阅者事件必须属于 EventHandler委托(delegate)类型,声明为:

public delegate void EventHandler(object sender, EventArgs e);

试试这个:

void OnTimed(object sender, EventArgs e)
{
...
}

关于c# - 'method' 没有重载匹配委托(delegate) 'System.EventHandler',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8067246/

26 4 0