일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- hive
- Mac
- PySpark
- array
- string
- google apps script
- PANDAS
- Java
- GIT
- PostgreSQL
- Github
- gas
- Python
- Tkinter
- Redshift
- Apache
- Excel
- django
- matplotlib
- dataframe
- Kotlin
- 파이썬
- SQL
- math
- list
- c#
- Google Excel
- numpy
- Google Spreadsheet
- Today
- Total
달나라 노트
C# : ListBox, ComboBox 본문
ListBox와 ComboBox는 여러 요소들 중 하나를 선택할 수 있는 기능을 제공합니다.
ListBox와 ComboBox의 차이는 아래와 같습니다.
ListBox -> 요소들을 한번에 모두 나타내줍니다. 요소를 한 화면에 나타내지 못할 경우 스크롤을 발생시킵니다.
ComboBox -> 요소들을 드롭다운에 나타내줍니다.
먼저 ListBox를 봅시다.
using System;
using System.Windows.Forms;
class MyProgram
{
public static void Main()
{
Form fm = new Form();
fm.Width = 500;
fm.Height = 300;
ListBox list_box = new ListBox();
list_box.Parent = fm;
string[] arr_fruits = { "Apple", "Banana", "Peach", "Watermelon", "Grape" };
for (int i = 0; i < arr_fruits.Length; i++)
{
list_box.Items.Add(arr_fruits[i]);
}
Application.Run(fm);
}
}
위 코드를 실행하면 아래와 같은 Window가 뜹니다.
여러 요소들이 List Box안에 나타내져 있고 그 요소들을 선택할 수 있습니다.
ListBox list_box = new ListBox();
list_box.Parent = fm;
string[] arr_fruits = { "Apple", "Banana", "Peach", "Watermelon", "Grape" };
for (int i = 0; i < arr_fruits.Length; i++)
{
list_box.Items.Add(arr_fruits[i]);
}
ListBox는 ListBox class를 이용해서 생성할 수 있습니다.
ListBox에 요소를 추가할 때에는 ListBox.Items.Add method를 이용할 수 있습니다.
그래서 위 예시에서는 list box에 추가할 요소들을 담은 Array를 생성해두고 for loop를 이용해서 List Box에 요소들을 추가하고있습니다.
아래 코드는 List Box에 Event를 등록한 예시입니다.
List Box에서 선택된 요소가 바뀔 때 마다 어떤 요소가 선택되었는지를 나타내주는 Event입니다.
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 = 200;
lbl.Height = 20;
ListBox list_box = new ListBox();
list_box.Parent = fm;
list_box.Top = lbl.Bottom;
string[] arr_fruits = { "Apple", "Banana", "Peach", "Watermelon", "Grape" };
for (int i = 0; i < arr_fruits.Length; i++)
{
list_box.Items.Add(arr_fruits[i]);
}
void lb_event_selected(object sender, EventArgs e)
{
lbl.Text = list_box.Text;
}
list_box.SelectedIndexChanged += new EventHandler(lb_event_selected);
Application.Run(fm);
}
}
위 코드를 실행하면 아래와 같은 Window가 뜹니다.
그리고 뭔가 하나를 선택하면 선택한 항목의 텍스트가 표시되는 것을 볼 수 있습니다.
Event를 설정하는 부분을 봅시다.
void lb_event_selected(object sender, EventArgs e)
{
lbl.Text = list_box.Text;
}
list_box.SelectedIndexChanged += new EventHandler(lb_event_selected);
먼저 Event가 발생했을 때 어떤 동작을 할지에 대한 내용을 담은 lb_event_selected method를 생성합니다.
lb_event_selected method의 내용을 보면 Label의 Text(lbl.Text)를 list_box에서 선택된 Text(list_box.Text)로 바꾸는 내용을 담고 있습니다.
그리고 이 method를 list_box의 SelectedIndexChanged에 등록하였습니다.
SelectedIndexChanged는 list_box에서 선택된 항목이 변경되었을 때 발생하는 Event라는 의미입니다.
다음은 ComboBox입니다.
아래 코드를 봅시다.
using System;
using System.Windows.Forms;
class MyProgram
{
public static void Main()
{
Form fm = new Form();
fm.Width = 500;
fm.Height = 300;
ComboBox combo_box = new ComboBox();
combo_box.Parent = fm;
string[] arr_fruits = { "Apple", "Banana", "Peach", "Watermelon", "Grape" };
for (int i = 0; i < arr_fruits.Length; i++)
{
combo_box.Items.Add(arr_fruits[i]);
}
Application.Run(fm);
}
}
위 코드를 실행하면 아래와같은 Window가 뜹니다.
List Box와 동일하지만 항목이 표시되는 방식이 드롭다운으로 표시된다는 차이만 있습니다.
아래 코드는 Combo Box에 Event를 등록한 예시입니다.
Combo Box에서 선택된 요소가 바뀔 때 마다 어떤 요소가 선택되었는지를 나타내주는 Event입니다.
Event의 흐름과 사용되는 내용은 위에서 봤던 List Box의 Event와 동일합니다.
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 = 200;
lbl.Height = 20;
ComboBox combo_box = new ComboBox();
combo_box.Parent = fm;
combo_box.Top = lbl.Bottom;
string[] arr_fruits = { "Apple", "Banana", "Peach", "Watermelon", "Grape" };
for (int i = 0; i < arr_fruits.Length; i++)
{
combo_box.Items.Add(arr_fruits[i]);
}
void lb_event_selected(object sender, EventArgs e)
{
lbl.Text = combo_box.Text;
}
combo_box.SelectedIndexChanged += new EventHandler(lb_event_selected);
Application.Run(fm);
}
}
위 코드를 실행하면 아래와 같은 화면이 뜹니다.
그리고 드롭다운을 클릭해서 원하는 항목을 클릭하면
선택된 항목이 표시되는 것도 볼 수 있습니다.
'C# > C#' 카테고리의 다른 글
C# : MenuStrip, ToolStripMenuItem (0) | 2022.04.04 |
---|---|
C# : TextBox (0) | 2022.04.04 |
C# : RadioButton, GroupBox (0) | 2022.04.04 |
C# : CheckBox (0) | 2022.04.03 |
C# : Button (0) | 2022.04.03 |