프로젝트 구성
도구상자에서
Label
, TextBox
, Button
을 Form1
에 끌어 놓습니다. 드래그 앤드 드롭(drag-and-drop) 또는 더블클릭을 하여 Form1에 생성시킬 수 있습니다.
- Tip : 검색 도구 상자 창에서 검색하여 찾을 수 있습니다.
Label, TextBox, Button을 위와 같이 배치합니다. TextBox의 우측 모서리의 화살표를 눌러 탭을 확장시켜
MutltiLine
을 활성화시킵니다. TextBox의 크기는 속성에서 바꾸어 주거나, 마우스를 이용하여 크기를 바꿀 수 있습니다.
- Tip : MultiLine은 TextBox 컨트롤의 텍스트를 두 줄 이상으로 확장할 수 있게 합니다.
Label의 속성에서 (NAME)을
lbl_show
로 바꿔 줍니다. 또한 TextBox와 Button의 이름을 각각 txt
, btn_show
로, Button의 Text는 Send
로 바꿔 줍니다.
- Tip : 컨트롤의 이름을 바꾸는 이유는 같은 컨트롤을 여러개 사용할 때, 가독성을 높이기 위해서 바꿔 줍니다. 만약, Label을 여러개 사용할 경우 Label1, Label2, Label3 … 으로 구별이 어려워집니다. 각각의 이름을 부여하여 구별하기 쉽게 합니다.
- Tip : 컨트롤의 이름은 중복할 수 없으며, 대소문자를 구별합니다.
private void btn_show_Click(object sender, EventArgs e)
{
lbl_show.Text = txt.Text;
}
btn_show Button을 더블 클릭합니다. 더블 클릭 할 경우 자동적으로 btn_show에 이벤트가 적용되며 코드창으로 이동됩니다.
TextBox에 글을 쓰고 Send Button을 누르면 Label에 입력이 됩니다. Multiline을 활성화 시켜면 2줄 이상도 원활하게 입력됩니다.
프로그램 알아보기
using System
using System;
-
using : namespace 사용 선언 키워드
-
System : C#에서 기본적으로 필요한 Class를 담고있는 namespace
-
세미콜론(;) : 문장의 끝을 알리는 기호
namespace
namespace test
{
}
-
namespace는 성격이 비슷한
class(클래스)
,struct(구조체)
,interface(인터페이스)
,delegate(델리게이트)
,열거 형식
등을 묶는 역할 -
소리를 재생시키고 싶다면, namespace에
using System.Media;
가 추가되어야 합니다.
Class & InitializeComponent
namespace test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btn_show_Click(object sender, EventArgs e)
{
lbl_show.Text = txt.Text;
}
}
-
class는 ‘data + method’로 이루어져 있으며, C#을 구성하는 기본 단위
-
InitializeComponent는 디자이너에 정의된 구성 요소를 적용시키는 method이다. 이 method가 없다면 Form에 컨트롤이 적용되지 않는다.
진입점 (Entry Point)
static void Main ( string[] args )
{
}
-
static 자리
: 한정자-
public
: 부모 클래스, 자식 클래스에서 모두 접근 가능 -
private
: 부모 클래스에서만 접근 가능, 자식 클래스는 접근 불가 -
protected
: 부모 클래스는 private 형태, 자식 클래스에서는 public 형태, 그 이외에는 private 형태
-
-
void 자리
: 반환 형식, void는 반환하지 않음, int 정수 등 -
Main 자리
: 메소드 이름 -
string[] args 자리
: 매개 변수, 사용될 외부의 변수 -
{ } 자리
: 코드 블록