void Singleton_RecvedKMEvent(object sender, RecvKMEEventArgs e) { if (e.MT == MsgType.MT_M_MOVE) { Location = new Point(e.Now.X + 3, e.Now.Y + 3); } }
void Receive(Socket dosock) { byte[] buffer = new byte[9]; //수신할 버퍼 생성 int n = dosock.Receive(buffer); //메시지 수신 if (RecvedKMEvent != null) //수신 이벤트 구독자가 있을 때 { //이벤트 인자 생성 RecvKMEEventArgs e = new RecvKMEEventArgs(new Meta(buffer)); RecvedKMEvent(this, e); //수신 이벤트 통보(게시) } dosock.Close(); //소켓 닫기 }
void res_RecvKMEEventHandler(object sender, RecvKMEEventArgs e) { if (RecvedKMEvent != null) //메시지 수신 이벤트 핸들러가 있을 때 { RecvedKMEvent(this, e); //이벤트 발생(By Pass) } //수신한 이벤트에 따라 프로그램 방식으로 이벤트 발생 switch (e.MT) { case MsgType.MT_KDOWN: WrapNative.KeyDown(e.Key); break; case MsgType.MT_KEYUP: WrapNative.KeyUp(e.Key); break; case MsgType.MT_M_LEFTDOWN: WrapNative.LeftDown(); break; case MsgType.MT_M_LEFTUP: WrapNative.LeftUp(); break; case MsgType.MT_M_MOVE: WrapNative.Move(e.Now); break; } }