728x90
반응형
728x170
▶ MainForm.cs
using System;
using System.Drawing;
using System.Windows.Forms;
namespace TestProject
{
/// <summary>
/// 메인 폼
/// </summary>
public partial class MainForm : Form
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainForm()
/// <summary>
/// 생성자
/// </summary>
public MainForm()
{
InitializeComponent();
#region 이벤트를 설정한다.
Load += Form_Load;
MouseClick += Form_MouseClick;
#endregion
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
//////////////////////////////////////////////////////////////////////////////// Event
#region 폼 로드시 처리하기 - Form_Load(sender, e)
/// <summary>
/// 폼 로드시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void Form_Load(object sender, EventArgs e)
{
const int width = 63;
const int height = 63;
Bitmap bitmap = new Bitmap(width, height);
using(Graphics graphics = Graphics.FromImage(bitmap))
{
graphics.Clear(Color.Transparent);
int centerX = width / 2;
int centerY = height / 2;
Point[] outerPointArray =
{
new Point(centerX, 0),
new Point(2 * centerX, centerY),
new Point(centerX, 2 * centerY),
new Point(0, centerY),
};
using(SolidBrush brush = new SolidBrush(Color.FromArgb(128, 255, 255, 0)))
{
graphics.FillPolygon(brush, outerPointArray);
}
graphics.DrawPolygon(Pens.Red, outerPointArray);
Point[] innerPointArray =
{
new Point(centerX , centerY - 6),
new Point(centerX + 6, centerY ),
new Point(centerX , centerY + 6),
new Point(centerX - 6, centerY )
};
graphics.FillPolygon(Brushes.LightBlue, innerPointArray);
graphics.DrawPolygon(Pens.Blue, innerPointArray);
}
Cursor = new Cursor(bitmap.GetHicon());
}
#endregion
#region 폼 마우스 클릭시 처리하기 - Form_MouseClick(sender, e)
/// <summary>
/// 폼 마우스 클릭시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void Form_MouseClick(object sender, MouseEventArgs e)
{
this.messageLabel.Text = "(" + e.X.ToString() + ", " + e.Y.ToString() + ")";
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > WinForm' 카테고리의 다른 글
[C#/WINFORM] 테오 스파이럴(Spiral of Theodorus) 그리기 (0) | 2019.01.14 |
---|---|
[C#/WINFORM] 피타고라스 나무 프랙탈(Pythagorean Tree Fractal) 그리기 (0) | 2019.01.14 |
[C#/WINFORM] 시어핀스키 펜타곤(Sierpinski Pentagon) 그리기 (0) | 2019.01.14 |
[C#/WINFORM] Cursor 클래스 : 애니메이션 커서 사용하기 (0) | 2019.01.14 |
[C#/WINFORM] ListView 클래스 : 커스텀 아이콘 사용하기 (0) | 2019.01.14 |
[C#/WINFORM] 사용자가 스크롤바 최대값을 선택할 수 있게 하기 (0) | 2019.01.14 |
[C#/WINFORM] StringFormat 클래스 : Alignment 속성을 사용해 문자열 정렬하기 (0) | 2019.01.14 |
[C#/WINFORM] StringFormat 클래스 : SetTabStops 메소드를 사용해 탭 설정하기 (0) | 2019.01.14 |
[C#/WINFORM] PictureBox 클래스 : 버튼 모방하기 (0) | 2019.01.14 |
[C#/WINFORM] 극 좌표(Polar Coordinates)에서 곡선 그리기 (0) | 2019.01.14 |
댓글을 달아 주세요