我正在制作一个应用程序来记录用户的不活动,并且遇到了几个自定义事件的问题,没有抛出异常,也没有出现编译器错误,但是当我运行我的应用程序时,没有任何东西写入控制台,这让我觉得这个事件根本没有开火!我已经告诉事件,如果它弹出但什么也没发生,则显示一条消息,我相信这证实了我的怀疑。
我不是 C# 或自定义事件方面的专家,因此将不胜感激任何和所有帮助 =]
我的自定义事件代码如下;
Inactivity inact = new Inactivity();
inact.Active += inactivity_Active;
inact.Inactive += inactivity_Inactive;
public void inactivity_Inactive(object sender, EventArgs e)
{
var logdata1=Inactivity.GetIdleTime();
System.Diagnostics.Debug.WriteLine(logdata1);
MessageBox.Show("Inactive");
}
public void inactivity_Active(object sender, EventArgs e)
{
var logdata2 = Inactivity.GetIdleTime();
System.Diagnostics.Debug.WriteLine(logdata2);
MessageBox.Show("Active");
}
这些是为了引发活动和非活动事件而将被调用的方法
public void OnInactive(EventArgs e)
{
EventHandler inactiveEvent = this.Inactive;
if(inactiveEvent!=null)
{
inactiveEvent(this, e);
}
}
public void OnActive(EventArgs e)
{
EventHandler inactiveEvent = this.Inactive;
if (inactiveEvent != null)
{
inactiveEvent(this, e);
}
}