상위 목록: 하위 목록: 작성 날짜: 읽는 데 12 분 소요

프로젝트 구성

도구상자에서 Label, TextBox, ButtonForm1에 끌어 놓습니다.

드래그 앤드 드롭(drag-and-drop) 또는 더블클릭을 하여 Form1에 생성시킬 수 있습니다.

  • Tip : 검색 도구 상자 창에서 검색하여 찾을 수 있습니다.


도구 상자 배치

Label, TextBox, Button을 위와 같이 배치합니다.

TextBox의 우측 모서리의 화살표를 눌러 탭을 확장시켜 MutltiLine활성화시킵니다.

TextBox의 크기는 속성에서 바꾸어 주거나, 마우스를 이용하여 크기를 바꿀 수 있습니다.

  • Tip : MultiLineTextBox 컨트롤의 텍스트를 두 줄 이상으로 확장할 수 있도록 변경합니다.


도구 상자 속성 변경

Label 속성의 (NAME)을 lbl_show로 변경합니다.

또한 TextBoxButton의 이름을 각각 txt, btn_show로, Button의 Text는 Send로 변경합니다.

컨트롤의 이름을 변경하는 이유는 같은 컨트롤을 여러개 사용할 때, 가독성을 높이기 위해 변경합니다.

만약, 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 Project
{

}
  • namespace는 성격이 비슷한 class(클래스), struct(구조체), interface(인터페이스), delegate(델리게이트), 열거 형식 등을 묶는 역할입니다.

  • 만약, 소리를 재생시키고 싶다면 namespace에 using System.Media;를 추가해야 합니다.


Class & InitializeComponent

namespace Project
{
    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로 이루어져 있으며, 프로그램을 구성하는 기본 단위입니다.

  • InitializeComponent는 디자이너에 정의된 구성 요소를 적용시키는 메서드입니다.

  • 이 메서드가 없다면 Form에 컨트롤이 적용되지 않습니다.


진입점 (Entry Point)

static void Main ( string[] args )
{
    
}
  • static 자리 : 한정자를 설정합니다.

    1. public : 부모 클래스, 자식 클래스에서 모두 접근 가능합니다.

    2. private : 부모 클래스에서만 접근이 가능하며, 자식 클래스는 접근이 불가합니다.

    3. protected : 부모 클래스는 private 형태, 자식 클래스에서는 public 형태, 그 이외에는 private 형태입니다.

  • void 자리 : 반환 형식, void는 반환하지 않음, int 정수 등을 입력할 수 있습니다.

  • Main 자리 : 메서드 이름을 정의합니다.

  • string[] args 자리 : 매개 변수, 사용될 외부의 변수를 입력합니다.

  • { } 자리 : 코드 블록을 작성합니다.

댓글 남기기