안녕하세요
이번에는 폼 안의 컨트롤(Control)을 정렬하는 방법에 대해서 알아보겠습니다
보통 폼 안의 컨트롤은 왼쪽 위로 정렬이 되어있습니다
하지만 컨트롤을 다른 방향 오른쪽 아래, 오른쪽 위, 왼쪽 아래로도 정렬이 가능합니다
폼이 움직여도 그 폼에 맞춰진 정렬에 따라 컨트롤이 움직이게 바꿀 수 있습니다
이 기능은 C# 윈폼에서 기본적으로 제공하는 Anchor속성을 변경하기 적용할 수 있습니다.
1. 최종 소스
2. 디자인
5가지 정렬 방법에 대해서 알아볼 예정입니다
윈폼 디자인에 아래 이미지와 같이 버튼을 붙여줍니다
3. 디자인 속성 변경
버튼을 클릭한 후 Anchor의 속성을 변경합니다
버튼에 써져있는대로 Anchor의 속성을 왼쪽 위, 왼쪽 아래, 오른쪽 위, 오른쪽 아래로 변경합니다
가운데 버튼은 Anchor속성을 None으로 변경합니다
-> Anchor 속성을 아무것도 선택하지 않으면 None으로 세팅이 됩니다
4. 소스에서 Anchor 변경
디자인 속성이 아닌 소스에서 속성을 변경할 수 있습니다
폼을 로드할 경우 Anchor 속성을 변경하도록 구현했습니다
하단의 소스를 보면 button1.Anchor = (AnchorStyles.방향) 으로 Anchor 속성을 수정할 수 있습니다
하지만 Anchor 속성으로 가운데 정렬은 불가능합니다
button5.Left = (this.ClientSize.Width - button5.Width) / 2;
button5.Top = (this.ClientSize.Height - button5.Height) / 2;
이렇게 하드코딩으로 구현을 하였습니다
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
31
32
33
34
35
36
37
38
39
|
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Archor
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// 폼 로드 시 이벤트
private void Form1_Load(object sender, EventArgs e)
{
// 버튼1은 왼쪽 위에 붙인다.
button1.Anchor = (AnchorStyles.Left | AnchorStyles.Top);
// 버튼2은 왼쪽 아래에 붙인다.
button2.Anchor = (AnchorStyles.Left | AnchorStyles.Bottom);
// 버튼3은 오른쪽 아래에 붙인다.
button3.Anchor = (AnchorStyles.Right | AnchorStyles.Bottom);
// 버튼4은 오른쪽 위에 붙인다.
button4.Anchor = (AnchorStyles.Right | AnchorStyles.Top);
// 버튼5은 가운데정렬
button5.Left = (this.ClientSize.Width - button5.Width) / 2;
button5.Top = (this.ClientSize.Height - button5.Height) / 2;
}
}
}
|
cs |
5. 최종 결과
밑의 이미지처럼 폼의 크기를 늘였다 줄였다하면 버튼도 같이 움직이는 것을 확인할 수 있습니다.
여기까지 Control의 방향을 정렬하는 방법에 대해서 알아보았습니다
C# 개발에 도움이 되셨으면 좋겠습니다
'프로그래밍 > C#' 카테고리의 다른 글
C# 윈폼 버튼(Button) 텍스트정렬(TextAlign) 하기 (0) | 2021.04.15 |
---|---|
Visual Studio 속성창 띄우기 (0) | 2021.04.15 |
C# 스크롤바(AutoScroll) 활성화하기 (0) | 2021.04.15 |
C# 상단바(TitleBar) 최소화/최대화/닫기 버튼 숨기기/없애기 (4) | 2021.04.14 |
C# ToolBox(도구상자)가 보이지 않는 경우 활성화 방법 (0) | 2021.04.14 |