반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 파이썬
- Mac
- django
- Java
- Python
- Google Spreadsheet
- Apache
- PANDAS
- GIT
- google apps script
- SQL
- Excel
- math
- hive
- Github
- matplotlib
- Redshift
- string
- Google Excel
- gas
- Kotlin
- list
- PostgreSQL
- array
- numpy
- Tkinter
- dataframe
- PySpark
- c#
Archives
- Today
- Total
달나라 노트
C# : MouseEventArgs, MouseEventHandler (마우스 포인터 위치) 본문
728x90
반응형
MouseEventArgs를 사용해봅시다.
아래 코드는 Form의 어느 위치를 클릭하면 그 위치의 X, Y 좌표를 나타내주는 코드입니다.
using System;
using System.Windows.Forms;
class MyProgram
{
public static void Main()
{
Form fm = new Form();
fm.Width = 500;
fm.Height = 300;
Label lbl = new Label();
lbl.Parent = fm;
lbl.Width = 300;
lbl.Height = 20;
void fm_click(object sender, MouseEventArgs e)
{
String x = e.X.ToString();
String y = e.Y.ToString();
lbl.Text = "X = " + x + ", Y = " + y;
}
fm.MouseDown += new MouseEventHandler(fm_click);
Application.Run(fm);
}
}
위 코드를 실행하면 아래와 같은 Window가 뜹니다.
그리고 Window의 아무 부분을 클릭하면 아래와 같이 클릭한 곳의 X, Y 좌표가 나오죠.
MouseEvent를 다루는 부분을 봅시다.
void fm_click(object sender, MouseEventArgs e)
{
String x = e.X.ToString();
String y = e.Y.ToString();
lbl.Text = "X = " + x + ", Y = " + y;
}
fm.MouseDown += new MouseEventHandler(fm_click);
MouseEvent를 다루기 위해서는 Event method의 parameter로서 MouseEventArgs e를 전달해야합니다.
이 변수 e에는 이벤트가 발생했을 때 마우스 포인터 관련 정보가 들어있습니다.
그래서 e.X, e.Y 와 같이 이벤트가 발생한 시점의 마우스 X, Y 좌표를 얻을 수 있는 것이죠.
ToString은 X, Y 좌표를 String으로 만들기 위한 method입니다.
또한 Mouse Event는 Form의 MouseDown에 등록해야하며 MouseEventHandler 델리게이트에 Event Method(fm_click)를 담아서 전달합니다.
728x90
반응형
'C# > C#' 카테고리의 다른 글
C# : List (0) | 2022.04.11 |
---|---|
C# : DrawEllipse, Pen (타원 그리기, 그림 그리기, 도형 그리기) (0) | 2022.04.08 |
C# : Bitmap, GetPixel, ToArgb, FromArgb, SetPixel (이미지 다루기, 색상 다루기, ARGB 변환, Color 변환) (0) | 2022.04.07 |
C# : &, |, ^, ~ (비트 논리곱, 비트 논리합, 비트 상호배제, 비트 부정) (0) | 2022.04.07 |
C# : <<, >> (비트 시프트 연산자) (0) | 2022.04.06 |
Comments