일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- PostgreSQL
- Java
- PANDAS
- SQL
- Python
- Github
- Tkinter
- c#
- numpy
- Mac
- Google Spreadsheet
- 파이썬
- gas
- django
- list
- array
- matplotlib
- PySpark
- Redshift
- Apache
- Kotlin
- GIT
- google apps script
- hive
- dataframe
- string
- Excel
- math
- Google Excel
- Today
- Total
달나라 노트
C# : Label (Text Box, 텍스트 박스, 구조체, Structure, 글자 스타일, Font, FontStyle, 폰트스타일) 본문
C# : Label (Text Box, 텍스트 박스, 구조체, Structure, 글자 스타일, Font, FontStyle, 폰트스타일)
CosmosProject 2022. 4. 1. 21:51
C#에서 Label은 텍스트를 표시해주는 역할을 합니다.
텍스트 박스라고 보면 될거같습니다.
Label을 어떻게 사용하는지와 Label 객체에 적용할 수 있는 여러 설정들(글씨 색깔, 글씨 정렬 등)을 알아봅시다.
아래 코드를 실행시켜봅시다.
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 = 100;
lbl.Height = 50;
lbl.Text = "Sample Text";
Application.Run(fm);
}
}
그러면 위처럼 Sample Text가 Window에 표시됩니다.
이제 위 코드를 순차적으로 해석해봅시다.
Form fm = new Form();
fm.Width = 500;
fm.Height = 300;
먼저 Form 객체 생성부분입니다.
Label은 Window의 어딘가에 표시될 것이므로 표시될 Window를 만들어야합니다.
위처럼 Form 객체를 생성해서 Window를 만들어줍니다.
Form 객체의 가로길이는 500, 세로 길이는 300으로 설정합니다.
Label lbl = new Label();
lbl.Parent = fm;
lbl.Width = 100;
lbl.Height = 50;
lbl.Text = "Sample Text";
Label 객체 생성 부분입니다.
Label 객체는 Label class를 불러와서 생성할 수 있습니다.
- lbl.Parent = fm;
Label이 표시될 부분은 Window입니다. 따라서 Form 객체를 Parent로 설정해서 Label이 Form 객체에 소속되도록 합니다.
- lbl.Width = 100;
- lbl.Height = 50;
Label은 텍스트 박스와 비슷하다고 했습니다.
따라서 이 텍스트 박스의 가로 길이(Width)와 세로 길이(Height)를 설정할 수 있습니다.
위 예시에서는 가로 길이(Width)를 100, 세로 길이(Height)를 50으로 설정했습니다.
- lbl.Text = "Sample Text";
Text 옵션은 Label에 표시할 텍스트를 설정해주는 옵션입니다.
Application.Run(fm);
Application을 실행합니다.
이제 Label 객체를 좀 더 다양하게 꾸밀 수 있는 여러 옵션들을 알아봅시다.
1. ForeColor
ForeColor 옵션은 글자의 색상을 설정합니다.
using System;
using System.Windows.Forms;
using System.Drawing;
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 = 100;
lbl.Height = 50;
lbl.Text = "Sample Text";
lbl.ForeColor = Color.Blue;
Application.Run(fm);
}
}
lbl.ForeColor = Color.Blue;
위 예시에서 ForeColor를 Blue로 설정했으므로 텍스트가 파란색으로 표시되는걸 볼 수 있습니다.
근데 Color.Blue라는 건 어디서 온걸까요?
using System.Drawing;
위 예시를 보면 Syste.Drawing 라이브러리를 불러온 것을 볼 수 있습니다.
꾸미는 작업을 하기 위해선 여러 가지 색상등을 불러와야하는데 색상관련 정보는 System.Drawing 라이브러리에 있습니다.
따라서 Color.Blue도 사실 구조가 System.Drawing.Color.Blue 이렇게 되어있는 것입니다.
때표적으로 System.Drawing.Color.색상 을 통해 사용할 수 있는 대표적인 색상은 아래와 같습니다.
Color Code | Description |
Black | 검정색 |
White | 흰색 |
Gray | 회색 |
Red | 빨간색 |
Yello | 노란색 |
Green | 초록색 |
Blue | 파란색 |
Cyan | 시안색 |
2. BackColor
BackColor 옵션은 Label의 배경색을 설정해줍니다.
아래 코드를 실행시켜봅시다.
using System;
using System.Windows.Forms;
using System.Drawing;
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 = 100;
lbl.Height = 50;
lbl.Text = "Sample Text";
lbl.BackColor = Color.Gray;
Application.Run(fm);
}
}
- lbl.BackColor = Color.Gray;
BackColor를 Gray로 설정했으므로 결과 Window에서도 Label 부분의 배경이 회색으로 보이는 것을 볼 수 있습니다.
3. TextAlign
TextAlign 옵션은 텍스트의 정렬을 해줍니다.
using System;
using System.Windows.Forms;
using System.Drawing;
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 = 100;
lbl.Height = 50;
lbl.Text = "Sample Text";
lbl.BackColor = Color.Gray;
lbl.TextAlign = ContentAlignment.MiddleCenter;
Application.Run(fm);
}
}
- lbl.TextAlign = ContentAlignment.MiddleCenter;
TextAlign 옵션을 MiddleCenter로 설정하였습니다.
MiddleCenter는 텍스트를 Label의 정 가운데에 정렬해줍니다.
정렬에 사용할 수 있는 주요한 ContentAlignment 옵션은 다음과 같습니다.
Alignment Code | Description |
TopLeft | 왼쪽 위 정렬 |
TopCenter | 위쪽 가운데 정렬 |
TopRight | 오른쪽 위 정렬 |
MiddleLeft | 가운데 왼쪽 정렬 |
MiddleCenter | 정가운데 정렬 |
MiddleRight | 가운데 오른쪽 정렬 |
BottomLeft | 왼쪽 아래 정렬 |
BottomCenter | 아래쪽 가운데 정렬 |
BottomRight | 오른쪽 아래 정렬 |
4. BorderStyle
BorderStyle 옵션은 Label의 테두리를 설정해줍니다.
using System;
using System.Windows.Forms;
using System.Drawing;
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 = 100;
lbl.Height = 50;
lbl.Text = "Sample Text";
lbl.BorderStyle = BorderStyle.FixedSingle;
Application.Run(fm);
}
}
- lbl.BorderStyle = BorderStyle.FixedSingle;
BorderStyle을 BorderStyle.FixedSingle로 설정했습니다.
FixedSingle은 일반 실선을 의미합니다.
그래서 위 이미지를 보시면 Label의 테두리가 검은색 실선으로 표시된 것을 볼 수 있습니다.
테두리 설정에 사용할 수 있는 주요한 BorderStyle 옵션은 다음과 같습니다.
BorderStyle Code | Description |
None | 테두리 없음 |
FixedSingle | 실선 테두리 |
Fixed3D | 입체 테두리 |
5. Font
Font 옵션은 글씨체, 글씨 크기, 글씨 스타일을 설정하는 옵션입니다.
using System;
using System.Windows.Forms;
using System.Drawing;
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 = 200;
lbl.Height = 50;
lbl.Text = "Sample Text";
lbl.Font = new Font("Arial", 15, FontStyle.Italic);
Application.Run(fm);
}
}
- lbl.Font = new Font("Arial", 15, FontStyle.Italic);
Font 설정 부분은 위와 같습니다.
Font 설정은 특이하게 Font 옵션에 Font class를 할당하여 설정할 수 있습니다.
Font class에는 3개의 인자가 들어갈 수 있습니다.
첫 번째 인자 = "Arial" -> 글씨체
두 번째 인자 = 15 -> 글씨 크기
세 번째 인자 = FontStyle.Italic -> 글씨 스타일
여기서 FontStyle은 System.Drawing.FontStyle 구조로 되어있는 라이브러리로부터 불러와지는 것입니다.
Font 설정에 사용할 수 있는 주요한 글씨체 옵션은 다음과 같습니다.
Font | Description |
Regular | 글씨 스타일 설정 없음 |
Bold | 굵은 글씨체 |
Italic | 기울어진 글씨체 |
Unerline | 밑줄쳐진 글씨체 |
Strikeout | 중간 취소선이 그어진 글씨체 |
6. AutoSize
AutoSize 옵션에는 true, false 값을 할당할 수 있습니다.
AutoSize = ture -> 글씨 크기에 맞춰 Label 크기를 자동으로 조절한다.
AutoSize = false -> 글씨 크기와 상관없이 Label 크기를 별도로 지정합니다.
using System;
using System.Windows.Forms;
using System.Drawing;
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 = 200;
lbl.Text = "Sample Text";
lbl.BackColor = Color.Gray;
lbl.AutoSize = true;
Application.Run(fm);
}
}
- lbl.AutoSize = true;
위 예시에서 Label의 Width, Height을 보면 각각 300, 200으로 설정되어있습니다.
그러나 AutoSize를 true로 설정해서 Label의 크기가 글씨크기에 맞춰진걸 볼 수 있습니다.
이렇게 AutoSize를 true로 설정하면 내가 Label의 크기를 어떻게 설정하건 상관없이 Label 크기가 무조건 글씨 크기에 맞게 변경됩니다.
- 추가 : 구조체
위 예시에서 글씨 색상을 지정할 때 System.Drawing.Color.Blue 와 같은 형태로 색상을 지정했습니다.
여기서 Color.Blue같은 것은 구조체로서 C#에 기본적으로 생성되어있는 구조체(Structure)라고 합니다.
구조체는 아래와 같이 선언됩니다.
struct 구조체이름
{
구조체 내용
}
구조체 속에는 여러 요소들이 있습니다.
마치 array와 비슷하게 구조체 안에 여러 요소들이 들어있다고 보면 됩니다.
다만 구조체 속 요소에 접근할 때에는 마침표(.)를 이용해서 구조체이름.구조체요소 등으로 접근할 수 있습니다.
Color.Blue
따라서 위 내용은 Color라는 이름의 구조체 속에 있는 Blue라는 요소를 불러온 것입니다.
여기서는 구조체에 대해 정확한 내용까지 모두 알 필요는 없고 구조체 속에 여러 요소가 들어있으며 마침표를 이용해서 구조체 속 요소들에 접근할 수 있다라는 내용만 알면 됩니다.
'C# > C#' 카테고리의 다른 글
C# : CheckBox (0) | 2022.04.03 |
---|---|
C# : Button (0) | 2022.04.03 |
C# : Panel (FlowLayoutPanel, TableLayoutPanel, 컨트롤 배치, 소스 배치) (0) | 2022.04.01 |
C# : CheckBox, CheckBox Event (0) | 2022.04.01 |
C# : enum (Enumeration, 열거체) (0) | 2022.04.01 |