사용자가 로그인하지 않고 두 가지 맞춤 이벤트에 문제가 발생했습니다. 예외가 발생하지 않으며 컴파일러 오류도 발생하지 않지만 애플리케이션을 실행할 때 콘솔에 글을 쓰지 않아도됩니다. 이벤트가 전혀 발사되지 않습니다! 나는 사건이 일어 났을 때 메시지를 보여달라고 말했지만, 아무 것도 일어나지 않는다. 나는 그것이 나의 의심을 확인한다고 믿는다.내 맞춤 이벤트가 실행되지 않는 이유는 무엇입니까?
나는 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) 메서드에서 복사 붙여 넣은 것 같습니다. 정말로 동일한 두 가지 방법이 필요하거나 오타가 있습니까? –