我正在做一個應用程序來記錄用戶的不活動,並且遇到了一些自定義事件的問題,沒有拋出異常並且沒有編譯器錯誤出現,但是當我運行我的應用程序時,沒有任何東西寫入控制檯,這讓我想到事件根本不是射擊!如果它突然出現,我已經告訴該活動顯示一條消息,但沒有任何反應,我相信這證實了我的懷疑。爲什麼不是我的自定義事件觸發?
我不是在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);
}
}
看來OnActive(EventArgs e)方法是從OnInactive(EventArgs e)方法複製粘貼的。你真的想要兩種相同的方法,還是一個錯字? –