컨트롤이란 도구상자에 있는 도구들을 의미합니다.
1.GroupBox
포함된 컨트롤을 한번에 움직이게 하는 컨트롤입니다.
2. MenuStrip
프로그램 상단에 파일, 편집 등의 기능을 만드는 컨트롤입니다.
3.PictureBox
그림을 넣는 컨트롤입니다.
이미지를 넣기 위해서는 먼저 솔루션탐색기에서 Properties를 더블클릭합니다.
리소스 탭을 클릭하고 리소스 추가를 클릭 한 후 기존 파일 추가를 클릭합니다.
사진파일을 선택하시면 솔루션탐색기에 리소스라는 폴더가 생기면서 사진파일이 추가되는 것을 확인할 수 있습니다.
이렇게 계속 이미지를 저장할 수 있으며 저장된 이미지가 있으면 PictureBox에서 사용할 수 있습니다.
사용방법은 image 옆의 ...버튼을 클릭하여 선택하시면 됩니다.
만약 버튼 클릭시 이미지를 불러오고 싶다면 아래와 같이 코드를 작성하시면 됩니다.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace study4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
pictureBox1.Image = Properties.Resources.C_이미지;
}
}
}
4.RadioButton
말그대로 라디오버튼입니다.
단 두종류 이상의 라디오버튼을 만들고 싶다면 그룹박스에 넣어야합니다.
5.Timer
일정시간마다 함수를 반복해서 호출하는 기능입니다.
timer를 더블클릭하면 아래 사진처럼 하단에 나타납니다.
timer의 속성 중 이벤트를 보시면 Tick이라는 기능이 있습니다.
사용하려면 속성에서 Enable을 True로 변경합니다.
그리고 이벤트에서 Tick을 더블클릭합니다.
아래코드를 입력합니다. 그리고 interval을 3000으로 변경하였습니다.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace study4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
pictureBox1.Image = Properties.Resources.C_이미지;
}
private void pictureBox1_Click(object sender, EventArgs e)
{
}
private void timer1_Tick(object sender, EventArgs e)
{
//일정한 시간마다 호출 -> 속성에서 interval이 지정된 시간임 ->1000이 1초
if(textBox1.Text.Equals(""))
{
MessageBox.Show("대기중");
}
else
{
MessageBox.Show(textBox1.Text+" 입력됨");
}
}
}
}
실행해보시면 3초마다 메시지박스가 나타나는 것을 확인할 수 있습니다.
또한 타이머는 여러개를 사용할 수도 있습니다.
6.Panel, Splitter, TableLayoutPanel
panel과 splitter를 이용하면 영역을 나눌 수 있습니다. TableLayoutPanel은 행렬로 작업범위를 나눌 수 있습니다.
Panel & Splitter
속성에서 Dock을 조정하면 위치변경이 가능합니다.
TableLayoutPanel
7.ToolStrip
ToolStrip은 MenuStrip과 비슷하지만 이미지 형식으로 만들어진 것입니다.
원하는 이미지의 버튼을 만드는 것도 가능합니다.
8. DataTable, DataSet, DataGridView
이 3개의 컨트롤은 데이터값을 저장하고 보여주는 컨트롤입니다.
우선 DataGridView를 만듭니다.
Form1을 클릭하여 load 옵션을 불러옵니다.
Form1.cs에 아래코드를 입력합니다. 상세한 내용은 주석으로 설명했습니다.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace study6
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//DataTable
//데이터를 행과 열로서 저장할 수 있는 형식을 제공
DataTable dt = new DataTable();
DataTable dt2 = new DataTable();
//1개의 열을 추가
DataColumn dc = new DataColumn();
//열 이름
dc.ColumnName = "숫자타입";
//데이터 타입 지정
dc.DataType = typeof(int);
DataColumn dc2 = new DataColumn();
//열 이름
dc2.ColumnName = "문자타입";
//데이터 타입 지정
dc2.DataType = typeof(string);
//데이터 테이블에 연결
dt.Columns.Add(dc);
dt.Columns.Add(dc2);
//데이터 테이블 행을 추가
dt.Rows.Add(1, "홍길동");
dt.Rows.Add(2, "강감찬");
dt.Rows.Add(3, "이순신");
dt.Rows.Add(4, "유관순");
//DataSet
DataSet ds = new DataSet("MYDATASET");
//DataSet -> 데이터 테이블을 저장
ds.Tables.Add(dt);
ds.Tables.Add(dt2);
//DataSet을 활용
dataGridView1.DataSource = ds.Tables[0]; // 첫번째 저장된 값을 가져온다.->dc
//dataGridView1.DataSource = ds.Tables[1]; // 두번째 저장된 값을 가져온다.->dc2
//DataSet을 활용하지 않았을 때 데이터그리드뷰 데이터테이블을 연결, 표시
//dataGridView1.DataSource = dt;
}
}
}
실행결과
'C# Programming > Winform' 카테고리의 다른 글
[winform] 클래스 다이어그램 보는 법 (0) | 2024.05.15 |
---|---|
[winform] 단일 프로세스(MUTEX) (0) | 2024.05.13 |
[winform] 알림창 만들기 (0) | 2024.05.13 |
[winform] MDI (0) | 2024.05.13 |
[winform] 프로젝트 생성 및 기본 기능 (0) | 2024.05.13 |