일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Google Excel
- google apps script
- Python
- list
- gas
- 파이썬
- array
- math
- dataframe
- django
- SQL
- Github
- GIT
- numpy
- Mac
- PostgreSQL
- c#
- matplotlib
- Excel
- PANDAS
- hive
- PySpark
- Tkinter
- string
- Apache
- Kotlin
- Google Spreadsheet
- Redshift
- Java
- Today
- Total
달나라 노트
C# : CheckBox 본문
CheckBox class는 Window에 체크박스를 띄울 수 있도록 해줍니다.
using System;
using System.Windows.Forms;
class MyProgram
{
public static void Main()
{
Form fm = new Form();
fm.Width = 500;
fm.Height = 300;
CheckBox chk_box = new CheckBox();
chk_box.Parent = fm;
chk_box.Width = 200;
chk_box.Height = 20;
chk_box.Text = "Sample Check Box";
Application.Run(fm);
}
}
위 코드를 실행하면 위 이미지처럼 체크박스가 Window에 생깁니다.
코드를 부분별로 해석해봅시다.
Form fm = new Form();
fm.Width = 500;
fm.Height = 300;
버튼을 만들려면 버튼이 들어갈 Window를 생성해야겠죠.
따라서 위 부분에서 Form class를 이용해 fm 객체를 생성합니다.
Form 객체는 Window를 생성하는 객체입니다.
그리고 Width, Height 옵션을 통해 Window의 가로 길이(Height)를 500으로, 세로 길이(Height)를 300으로 설정합니다.
CheckBox chk_box = new CheckBox();
chk_box.Parent = fm;
chk_box.Width = 200;
chk_box.Height = 20;
chk_box.Text = "Sample Check Box";
그 다음은 CheckBox를 생성하는 부분입니다.
- CheckBox chk_box = new CheckBox();
CheckBox class를 이용해서 chk_box 객체를 생성합니다.
- chk_box.Parent = fm;
Check Box가 표시될 위치는 Window의 내부입니다.
따라서 Check Box의 Parent를 fm(Window)로 설정해줍니다.
- chk_box.Width = 200;
- chk_box.Height = 20;
Width 옵션은 체크 박스의 가로 길이를 설정해줍니다.
Height 옵션은 체크 박스의 세로 길이를 설정해줍니다.
- chk_box.Text = "Sample Check Box";
Text 옵션은 체크 박스에 표시될 텍스트를 설정해줍니다.
Application.Run(fm);
그리고 fm 객체를 실행합니다.
여기까지가 Check Box의 기본입니다.
1. Checked
Checked 옵션은 체크 박스가 체크되어있는지 여부를 나타냅니다.
Checked = true --> 체크된 상태
Checked = false --> 체크 해제된 상태
using System;
using System.Windows.Forms;
class MyProgram
{
public static void Main()
{
Form fm = new Form();
fm.Width = 500;
fm.Height = 300;
CheckBox chk_box = new CheckBox();
chk_box.Parent = fm;
chk_box.Width = 200;
chk_box.Height = 20;
chk_box.Text = "Sample Check Box";
chk_box.Checked = true;
Application.Run(fm);
}
}
Checked의 기본값은 false입니다. 그래서 Check Box를 생성하면 Window가 열릴 때에는 체크가 해제된 상태로 표시됩니다.
하지만 위 예시처럼 Checked를 true로 설정하면 Window를 열었을 때 체크 박스가 체크된 상태로 보여집니다.
2. Enabled
Enabled 옵션은 Check Box의 활성화 여부를 결정합니다.
Enabled = true --> Radio Button 활성화된 상태 (클릭 가능한 상태)
Enabled = false --> Radio Button 비활성화된 상태 (클릭 불가능한 상태)
using System;
using System.Windows.Forms;
class MyProgram
{
public static void Main()
{
Form fm = new Form();
fm.Width = 500;
fm.Height = 300;
CheckBox chk_box = new CheckBox();
chk_box.Parent = fm;
chk_box.Width = 200;
chk_box.Height = 20;
chk_box.Text = "Sample Check Box";
chk_box.Enabled = false;
Application.Run(fm);
}
}
위 코드를 실행하면 아래 이미지처럼 Check Box가 비활성화되어 클릭이 불가능한 상태가 됩니다.
chk_box.Enabled = false;
그 이유는 위처럼 radio_btn_2의 Enabled 옵션을 false로 설정했기 때문입니다.
3. BackColor
Button의 BackColor 옵션은 버튼의 배경 색을 설정해줍니다.
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;
CheckBox chk_box = new CheckBox();
chk_box.Parent = fm;
chk_box.Width = 200;
chk_box.Height = 20;
chk_box.Text = "Sample Check Box";
chk_box.BackColor = Color.Gray;
Application.Run(fm);
}
}
- chk_box.BackColor = Color.Gray;
BackColor 옵션을 회색(Gray)로 설정하였습니다.
따라서 위 이미지처럼 체크 박스의 배경색이 회색으로 채워진 것을 볼 수 있습니다.
4. Font
Font 옵션은 Check Box에 표시되는 글자의 글씨체, 글씨 크기, 글자 스타일을 정할 수 있게 해줍니다.
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;
CheckBox chk_box = new CheckBox();
chk_box.Parent = fm;
chk_box.Width = 250;
chk_box.Height = 30;
chk_box.Text = "Sample Check Box";
chk_box.Font = new Font("Arial", 15, FontStyle.Italic);
Application.Run(fm);
}
}
- chk_box.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 | 중간 취소선이 그어진 글씨체 |
5. 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;
CheckBox chk_box = new CheckBox();
chk_box.Parent = fm;
chk_box.Width = 250;
chk_box.Height = 30;
chk_box.Text = "Sample Check Box";
chk_box.ForeColor = Color.Blue;
Application.Run(fm);
}
}
- chk_box.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 | 시안색 |
6. AutoSize
AutoSize 옵션에는 true, false 값을 할당할 수 있습니다.
AutoSize = ture -> 글씨 크기에 맞춰 Bitton 크기를 자동으로 조절한다.
AutoSize = false -> 글씨 크기와 상관없이 Button 크기를 별도로 지정합니다.
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;
CheckBox chk_box = new CheckBox();
chk_box.Parent = fm;
chk_box.Text = "Sample Check Box";
chk_box.AutoSize = false;
Application.Run(fm);
}
}
AutoSize 옵션을 true로 설정한 경우 위 이미지처럼 Sample Check Box 텍스트가 모두 보이지 않습니다.
Check Box의 크기가 글자보다 작아서 표시되는 글자가 줄바꿈되고 잘린 것입니다.
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;
CheckBox chk_box = new CheckBox();
chk_box.Parent = fm;
chk_box.Text = "Sample Check Box";
chk_box.AutoSize = true;
Application.Run(fm);
}
}
AutoSize 옵션을 true로 설정하면 위처럼 Check Box의 크기가 표시되어야할 Text의 크기에 맞춰서 자동으로 조절됩니다.
그래서 Sample Check Box라는 텍스트가 모두 보이는 것을 알 수 있죠.
여기까지 해서 Check Box에 적용할 수 있는 여러 옵션들을 알아봤습니다.
Check Box의 서식(배경색, 글씨 색상, 글꼴 등)을 지정하는 옵션은 Label에서 지정할 수 있는 옵션과 비슷합니다.
따라서 아래 링크를 참고해보는 것도 좋습니다.
https://cosmosproject.tistory.com/554
아래 예시는 Check Box의 체크 여부가 바뀔 때 마다 Event가 발생하도록 한 것입니다.
체크박스의 체크 여부가 바뀌면 체크박스에 표시되는 글자가 바뀝니다.
using System;
using System.Windows.Forms;
class MyProgram
{
public static void Main()
{
Form fm = new Form();
fm.Width = 500;
fm.Height = 300;
CheckBox chk_box = new CheckBox();
chk_box.Parent = fm;
chk_box.Width = 200;
chk_box.Height = 20;
chk_box.Text = "Sample Check Box";
void chk_box_event_check(object sender, EventArgs e)
{
if (chk_box.Checked == true)
{
chk_box.Text = "Checked";
}
else if (chk_box.Checked == false)
{
chk_box.Text = "Unchecked";
}
else
{
chk_box.Text = "None";
}
}
chk_box.CheckedChanged += new EventHandler(chk_box_event_check);
Application.Run(fm);
}
}
위 코드를 실행하면 아래와 같은 화면이 뜹니다.
체크 박스를 클릭하면 아래처럼 텍스트가 Checked로 바뀝니다.
그리고 체크를 해제하면 아래처럼 Unchecked라는 텍스트가 표시됩니다.
Event Handler 부분을 봅시다.
void chk_box_event_check(object sender, EventArgs e)
{
if (chk_box.Checked == true)
{
chk_box.Text = "Checked";
}
else if (chk_box.Checked == false)
{
chk_box.Text = "Unchecked";
}
else
{
chk_box.Text = "None";
}
}
먼저 Event가 발생했을 때 어떤 동작을 할지에 대한 내용을 담은 method를 생성해야합니다.
위 코드를 보면 체크 여부의 현재 상태(chk_box.Checked)에 따라 Text를 설정하는 내용을 가지고 있습니다.
체크 박스가 체크되어있으면 (chk_box.Checked = true) Text를 Checked로 바꿉니다.
체크 박스가 체크 해제되어있으면 (chk_box.Checked = false) Text를 Unchecked로 바꿉니다.
그리고 else 구문은 혹시라도 Checked 값을 제대로 불러오지 못할 경우 에러가 발생할 수 있기 때문에 적어둔 것이라서 별로 신경안써도 됩니다.
'C# > C#' 카테고리의 다른 글
C# : ListBox, ComboBox (0) | 2022.04.04 |
---|---|
C# : RadioButton, GroupBox (0) | 2022.04.04 |
C# : Button (0) | 2022.04.03 |
C# : Label (Text Box, 텍스트 박스, 구조체, Structure, 글자 스타일, Font, FontStyle, 폰트스타일) (0) | 2022.04.01 |
C# : Panel (FlowLayoutPanel, TableLayoutPanel, 컨트롤 배치, 소스 배치) (0) | 2022.04.01 |