원격 제어 프로그램 18. 원격 클라이언트 폼

이번에는 원격 제어할 때 대상 호스트의 화면을 표시하는 RemoteCleintForm 폼을 추가하세요.

자식 컨트롤로 PictureBox 컨트롤을 추가하고 이름을 pbox_remote으로 정합시다. PictureBox 컨트롤의 Dock 속성을 Fill로 설정하고 SizeMode 속성르 StretchImage로 설정하세요.

멤버 필드로 이미지를 수신하였는지 확인하는 멤버와 이미지 크기를 기억할 멤버를 선언하세요.

원격 호스트를 제어하기 위한 키보드와 마우스 이벤트를 전송에 사용할 클라이언트를 속성으로 제공합시다.

속성 창을 이용하여 Load 이벤트 핸들러를 등록하세요.

컨트롤로의 단일체에 이미지 수신 이벤트 핸드러를 등록하세요.

만약 한 번도 이미지를 수신하지 않았다면 이벤트 클라이언트를 가동하세요.

이벤트 인자로 받은 부분은 원격 제어 호스트의 데스크 톱 화면의 크기입니다.

수신한 이미지로 pbox_remote의 Image 속성을 설정하면 수신한 이미지를 PictureBox에 표시합니다.

속성 창을 이용하여 KeyDown 이벤트 핸들러를 등록하세요.

check가 true면 제어 중이므로 키 누름 이벤트 정보를 전송합니다.

속성 창을 이용해서 KeyUp 이벤트 핸들러를 등록하세요.

check가 true면 제어 중이므로 키 뗌 이벤트 정보를 전송합니다.

속성 창을 이용해서 pbox_remote 컨트롤의 MouseMove 이벤트 핸들러를 등록하세요.

check가 true면 제어 중이므로 마우스 이동 정보를 전송합니다. 이 때 좌표는 원격 제어 호스트 화면 크기에 맞게 변환하여 전송합니다.

좌표를 변환하는 ConvertPoint 메서드를 추가하세요.

x좌표는 원격 호스트의 너비를 곱한 값을 pbox_remote의 너비로 나눈 값으로 변환합니다.

y좌표는 원격 호스트의 높이를 곱한 값을 pbox_remote의 높이로 나눈 값으로 변환합니다.

변환한 nx, ny로 Point 개체를 만들어 반환하세요.

속성 창을 이용하여 pbox_remote 컨트롤의 MouseDown 이벤트 핸들러를 등록하세요.

check가 true면 제어 중이므로 마우스 누름 이벤트 정보를 전송합니다.

속성 창을 이용하여 pbox_remote 컨트롤의 MouseUp 이벤트 핸들러를 등록하세요.

check가 true면 제어 중이므로 마우스 뗌 이벤트 정보를 전송합니다.

다음은 이번 실습에서 작성한 소스 코드입니다.