gpt4 book ai didi

c# - 如何触发事件?

转载 作者:太空宇宙 更新时间:2023-11-03 19:09:26 28 4
gpt4 key购买 nike

我有这个事件处理程序,我需要在 WPF 应用程序中以编程方式触发这个事件。问题可能与访问修饰符有关。知道怎么做吗?

private void Monitor (object sender, EventArgs e)
{
if (App.monitor.IsPrinterReady() == false)
{
App.isPrintAllowed = false;
}
else
{
App.isPrintAllowed = true;
}
}

最佳答案

既然您询问了如何引发事件,那么方法如下:

YourClassInstance.YourEvent(YourClassInstance, SomeEventArgsInstance);

当然,这只有在您在自己的类(class)中自己声明的事件时才有效。如果不是,那么除非该类的 API 以某种方式允许它,否则您将无法这样做。

您仍然可以按照其他人的建议调用绑定(bind)到事件的函数,但我会采用不同的方式:

private void MonitoringHandler (object sender, EventArgs e)
{
Monitor();
}

private void Monitor()
{
App.isPrintAllowed = App.monitor.IsPrinterReady();
}

此处的 MonitoringHandler 方法是您要绑定(bind)到事件(无论它是什么)的方法。之后,如果您需要以编程方式调用由您的事件触发的相同操作,只需像调用任何其他方法一样调用 Monitor 函数,无需任何参数:

YourClass.Monitor();

恕我直言,该设计更简洁,更有意义。

关于c# - 如何触发事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22016038/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com