이번에는 라벨을 만들어 마우스의 좌표값을 가져오는 폼을 만들어보려고 한다.
도구 상자에 있는 Label을 찾아 마우스로 드래그 한다.
만약 도구 상자가 없으면 Ctrl+Alt+x 을 누르면 도구상자가 나온다. 자주 쓸테니 상단에 고정 표시를 눌러 고정해놓자.
라벨의 이름을 변경할 차례!
오른쪽 하단에 있는 속성에서 Text를 찾아 원하는 이름으로 바꿔준다.
이제 각 라벨에 필요한 값을 가져와야한다.
때문에 각 라벨 옆에 x,y 좌표를 띄우기 위해 똑같은 라벨을 복사해서 옆에 붙여준다.
그 후 오른쪽 하단에 있는 속성 탭에 보이는 번개 모양의 이벤트 버튼을 눌러 Load를 클릭한다.
각 이벤트는 마우스의 커서가 움직일 때의 좌표를 보여주는 것이기 때문에 속성에서 MouseMove도 더블클릭해서 추가한다.
여기서 값을 보여줄 라벨(위에 있는 사진 속에 오른쪽에 있는 '마우스 X 좌표'와 '마우스 Y좌표') 속성의
디자인 Name을 확인한다. 확인 방법은 조금 전에 클릭했던 번개 모양의 이벤트 왼쪽에 있는 속성 버튼을 누르면 된다.
내 프로그램에서는 라벨 이름이 Label4와 Label3으로 되어있어 이해하기 쉽도록 라벨 이름을 수정했다.
라벨 이름을 확인한 이유는 아까 클릭한 이벤트인 MouseMove 코드에 필요하기 때문이다.
PosX.Text = Cursor.Position.X.ToString();
이렇게 코드를 적는다. 내 폼에서 오른쪽 상단에 텍스트로 나타낼 값은 커서의 X 위치를 string으로 보여준다는 뜻이다.
마찬가지로 Y 좌표도 적는다.
PosY.Text = Cursor.Position.Y.ToString();
마지막으로 마우스 커서의 움직임 값을 실시간으로 가져오기 위해 폼 화면으로 돌아가 도구에서 Timer 를 드래그한다.
그냥 그대로 사용해도 되지만, 나는 코드를 알아보기 쉽게 Name을 바꿨다.
그리고 다시 코드로 돌아가 Load 부분을 작성한다.
그러기 위해서는 우선 상단에
using System.Timers;
를 추가한다. Timers는 Elapsed 속성의 밀리초 수가 경과 된 후 응용 프로그램에서 이벤트를 발생 시키는 서버 기반 타이머로 특정한 작업을 주기적으로 실행시키기 위해 사용하는 객체이다.
private void Form1_Load(object sender, EventArgs e)
{
PosTimer.Start();
PosTimer.Interval = 1;
}
실행하면 폼 창이 뜨며 폼 내에서 움직이는 마우스의 좌표를 실시간으로 가져온다.
전체 코드는 다음과 같다.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Timers;
namespace HelloWorld
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
PosTimer.Start();
PosTimer.Interval = 1;
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
PosX.Text = Cursor.Position.X.ToString();
PosY.Text = Cursor.Position.Y.ToString();
}
}
}
'Computer Science > Etc.' 카테고리의 다른 글
Microsoft Visual Studio 2019로 Windows Forms 만들기(4) 사진 뷰어 만들기-3 (0) | 2022.04.07 |
---|---|
Microsoft Visual Studio 2019로 Windows Forms 만들기(3) 사진 뷰어 만들기-2 (2) | 2022.04.06 |
Microsoft Visual Studio 2019로 Windows Forms 만들기(3) 사진 뷰어 만들기-1 (3) | 2022.04.05 |
Microsoft Visual Studio 2019로 C# Windows Forms 만들기(1) 마우스 포인터 위치 가져오기-1 (0) | 2022.04.01 |
아두이노(Arduino)란? (0) | 2022.03.25 |
댓글