728x90
반응형
728x170
▶ MainForm.cs
using System.Drawing;
using System.Windows.Forms;
namespace TestProject
{
/// <summary>
/// 메인 폼
/// </summary>
public partial class MainForm : Form
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Field
////////////////////////////////////////////////////////////////////////////////////////// Private
#region Field
/// <summary>
/// 좌상단 사각형
/// </summary>
private Rectangle leftTopRectangle = new Rectangle(200, 100, 200, 200);
/// <summary>
/// 우상단 사각형
/// </summary>
private Rectangle rightTopRectangle = new Rectangle(400, 100, 200, 200);
/// <summary>
/// 좌하단 사각형
/// </summary>
private Rectangle leftBottomRectangle = new Rectangle(200, 300, 200, 200);
/// <summary>
/// 우하단 사각형
/// </summary>
private Rectangle rightBottomRectangle = new Rectangle(400, 300, 200, 200);
/// <summary>
/// 커스텀 커서
/// </summary>
private Cursor customCursor = new Cursor("CURSOR\\custom.cur");
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainForm()
/// <summary>
/// 생성자
/// </summary>
public MainForm()
{
InitializeComponent();
MouseMove += Form_MouseMove;
Paint += Form_Paint;
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
#region 폼 마우스 이동시 처리하기 - Form_MouseMove(sender, e)
/// <summary>
/// 폼 마우스 이동시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void Form_MouseMove(object sender, MouseEventArgs e)
{
Point mousePoint = e.Location;
if(this.leftTopRectangle.Contains(mousePoint))
{
Cursor = this.customCursor;
}
else if(this.rightTopRectangle.Contains(mousePoint))
{
Cursor = Cursors.Hand;
}
else if(this.leftBottomRectangle.Contains(mousePoint))
{
Cursor = Cursors.VSplit;
}
else if(this.rightBottomRectangle.Contains(mousePoint))
{
Cursor = Cursors.UpArrow;
}
else
{
Cursor = Cursors.Default;
}
}
#endregion
#region 폼 페인트시 처리하기 - Form_Paint(sender, e)
/// <summary>
/// 폼 페인트시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void Form_Paint(object sender, PaintEventArgs e)
{
Graphics graphics = e.Graphics;
graphics.FillRectangle(Brushes.Blue , this.leftTopRectangle );
graphics.FillRectangle(Brushes.Red , this.rightTopRectangle );
graphics.FillRectangle(Brushes.Yellow, this.leftBottomRectangle );
graphics.FillRectangle(Brushes.Green , this.rightBottomRectangle);
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > WinForm' 카테고리의 다른 글
[C#/WINFORM/.NET5] WaveOutEvent 클래스 : 오디오 파일 재생하기 (0) | 2021.12.26 |
---|---|
[C#/WINFORM/.NET5] 마이크 입력 스펙트로그램 표시하기 (0) | 2021.12.18 |
[C#/WINFORM] 사운드 필터링 사용하기 (0) | 2021.12.09 |
[C#/WINFORM] NativeWindow 클래스 : 마우스 캡처 변경시 이벤트 전달하기 (0) | 2021.12.06 |
[C#/WINFORM] 마우스 히트 테스트(Hit Test) 사용하기 (0) | 2021.12.06 |
[C#/WINFORM] 마우스 드래그 대상 이미지 표시하기 (0) | 2021.12.06 |
[C#/WINFORM] 카카오 링크를 사용해 나에게 카카오톡 메시지 보내기 (기능 개선) (0) | 2021.11.24 |
[C#/WINFORM] 누겟 설치 : CefSharp.WinForms (0) | 2021.11.23 |
[C#/WINFORM] 누겟 설치 : CefSharp.Common (0) | 2021.11.23 |
[C#/WINFORM] WebBrowser 클래스 : Internet Explorer의 브라우저 에뮬레이션 모드 구하기 (0) | 2021.11.23 |
댓글을 달아 주세요