.NET/VB.NET
[VB.NET] 이거 아십니까? 동그란 폼 만들기.
WooGong Peter
2009. 4. 30. 21:20
예전 본 책을 들추다가 흔하게 만들어 보는 폼을 만드는 소스를 보았다.
그리고
한번 쳐본다.
2D 에 관한 NameSpace 를 추가해주고
먼저 폼을 Load 하면서 폼의 사각형 구역을 구하고 그 사각형 내에 동그란 Ellipse 를 추가한다.
그리고 그려질 구역을 다시 설정한다.
그리고 Form Load Event 에서 위 Method를 실행시킨다.
F5 를 눌러 실행을 시킨다.
위와 같이 Title 과 폼의 테두리가 그대로 보이는 동그란 폼이 그려졌으며 타이틀바를 클릭하여 드래깅을 하면 폼을 이동시킬수도있다.
이것은 폼 전체를 ClientRectangle로 구역을 설정했기 때문이며
이를 제거하려면
폼의 설정에서
FromBorderStyle 을 None 으로 선택하고 실행시켜보면
이런 식으로 깨끗한 Ellipse Form 이 완성된다.
이 폼을 마우스를 이용하여 움직이고자 하는데..
모두들 알고 있다 시피
Mouse Down, Move, Up Event 를 이용하여 폼을 이동시킬것이다.
그 내용은 아래와 같다.
위 코드를 입력하고
F5번 을 눌러 실행을 시키고 마우스로 클릭하여 폼을 움직여 보자...
^^
짝짝짝...
간단한 따라하기였다.
나 자신도 따라하기를 하면서 그 때 정리하지 못했던 것들을 정리 할 수 있어서 좋았다.
계속해서 짤막짤막한 따라하기 예제를 하나씩 만들어 보겠다.
언제나 처럼 작심삼일이 될지 모르나....
지금 현재는 재미있다. ^^
행복한 고수되셔요...
woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
그리고
한번 쳐본다.
2D 에 관한 NameSpace 를 추가해주고
Imports System.Drawing.Drawing2D |
먼저 폼을 Load 하면서 폼의 사각형 구역을 구하고 그 사각형 내에 동그란 Ellipse 를 추가한다.
그리고 그려질 구역을 다시 설정한다.
Sub SetEllipseRegion() Dim rect As Rectangle = Me.ClientRectangle Using path As GraphicsPath = New GraphicsPath path.AddEllipse(rect) Me.Region = New Region(path) End Using End Sub |
그리고 Form Load Event 에서 위 Method를 실행시킨다.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load SetEllipseRegion() End Sub |
F5 를 눌러 실행을 시킨다.
이것은 폼 전체를 ClientRectangle로 구역을 설정했기 때문이며
이를 제거하려면
폼의 설정에서
FromBorderStyle 을 None 으로 선택하고 실행시켜보면
이런 식으로 깨끗한 Ellipse Form 이 완성된다.
이 폼을 마우스를 이용하여 움직이고자 하는데..
모두들 알고 있다 시피
Mouse Down, Move, Up Event 를 이용하여 폼을 이동시킬것이다.
그 내용은 아래와 같다.
Private Sub Form1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown If e.Button <> Windows.Forms.MouseButtons.Left Then Return End If DownPoint = New Point(e.X, e.Y) End Sub Private Sub Form1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) If DownPoint = Point.Empty Then Return Dim location As Point = New Point(Me.Left + e.X - DownPoint.X, Me.Top + e.Y - DownPoint.Y) Me.Location = location End Sub Private Sub Form1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) If e.Button <> Windows.Forms.MouseButtons.Left Then Return DownPoint = Point.Empty End Sub |
위 코드를 입력하고
F5번 을 눌러 실행을 시키고 마우스로 클릭하여 폼을 움직여 보자...
^^
짝짝짝...
간단한 따라하기였다.
나 자신도 따라하기를 하면서 그 때 정리하지 못했던 것들을 정리 할 수 있어서 좋았다.
계속해서 짤막짤막한 따라하기 예제를 하나씩 만들어 보겠다.
언제나 처럼 작심삼일이 될지 모르나....
지금 현재는 재미있다. ^^
행복한 고수되셔요...
woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
반응형