Visual C#을 사용하여 런타임에 Windows 양식에 프로그래밍 방식으로 컨트롤 추가

이 문서는 Visual C#을 사용하여 Windows 양식에서 컨트롤을 프로그래밍 방식으로 추가하고 구성하는 데 도움이 됩니다.

원래 제품 버전: Visual C#
원본 KB 번호: 319266

요약

이 단계별 문서에서는 Windows 양식에서 일반적으로 사용되는 몇 가지 컨트롤을 프로그래밍 방식으로 추가하고 구성하는 방법을 보여 줍니다. 샘플 코드에서 이벤트 처리를 생략했습니다.

Microsoft .NET Framework SDK(소프트웨어 개발 키트)는 Windows Forms 애플리케이션을 빌드하는 데 사용할 수 있는 많은 시각적 컨트롤을 제공합니다. Visual Studio .NET 또는 Visual Studio에서 디자인 타임에 컨트롤을 추가하고 구성할 수 있습니다. 런타임에 프로그래밍 방식으로 컨트롤을 추가하고 구성할 수 있습니다.

요구 사항

이 문서에서는 다음 topics 잘 알고 있다고 가정합니다.

  • Visual C# 구문
  • Visual Studio .NET 환경, Visual Studio 환경
  • 일반적인 Visual C# 컨트롤의 목적

Windows Forms 애플리케이션 만들기

  1. Visual Studio .NET 또는 Visual Studio를 시작하고 WinControls라는 새 Visual C# Windows 애플리케이션 프로젝트를 만듭니다. Form1은 기본적으로 프로젝트에 추가됩니다.

  2. Form1을 두 번 클릭하여 이벤트 프로시저를 만들고 봅니다 Form1_Load .

  3. 일반적인 Windows 컨트롤을 사용하려면 클래스에 Form1 프라이빗 instance 변수를 추가합니다. 클래스는 Form1 다음과 같이 시작됩니다.

    public class Form1 : System.Windows.Forms.Form
    {
         //Controls.
         private TextBox txtBox = new TextBox();
         private Button btnAdd = new Button();
         private ListBox lstBox = new ListBox();
         private CheckBox chkBox = new CheckBox();
         private Label lblCount = new Label();
        //Other code.
    }
    

    참고

    Visual Studio에서 코드를 변경해야 합니다. Windows Forms 프로젝트를 만들 때 Visual C#은 기본적으로 프로젝트에 하나의 양식을 추가합니다. 이 양식의 이름은 Form1입니다. 폼을 나타내는 두 파일의 이름은 Form1.csForm1.designer.cs. Form1.cs 코드를 작성합니다. Designer.cs 파일은 Windows Forms Designer 컨트롤을 추가하여 수행한 모든 작업을 구현하는 코드를 작성하는 위치입니다. Visual C#의 Windows Forms Designer 대한 자세한 내용은 프로젝트 만들기(Visual C#)를 참조하세요.

양식 및 컨트롤 속성 사용자 지정

  1. 이벤트 프로시저를 Form1_Load 찾고 다음 코드를 프로시저에 추가하여 양식 컨트롤의 모양을 사용자 지정합니다.

     //Set up the form.
     this.MaximizeBox = false;
     this.MinimizeBox = false;
     this.BackColor = Color.White;
     this.ForeColor = Color.Black;
     this.Size = new System.Drawing.Size(155, 265);
     this.Text = "Run-time Controls";
     this.FormBorderStyle = FormBorderStyle.FixedDialog;
     this.StartPosition = FormStartPosition.CenterScreen;
    
  2. 이벤트 프로시저에 Form1_Load 다음 코드를 추가하여 Button 컨트롤의 모양을 사용자 지정합니다.

     //Format controls. Note: Controls inherit color from parent form.
     this.btnAdd.BackColor = Color.Gray;
     this.btnAdd.Text = "Add";
     this.btnAdd.Location = new System.Drawing.Point(90, 25);
     this.btnAdd.Size = new System.Drawing.Size(50, 25);
    
  3. 다음 코드를 추가하여 에서 TextBox 컨트롤의 모양을 사용자 지정합니다.Form1_Load

     this.txtBox.Text = "Text";
     this.txtBox.Location = new System.Drawing.Point(10, 25);
     this.txtBox.Size = new System.Drawing.Size(70, 20);
    
  4. 다음 코드를 추가하여 에서 Form1_LoadListBox 컨트롤의 모양을 사용자 지정합니다.

     this.lstBox.Items.Add("One");
     this.lstBox.Items.Add("Two");
     this.lstBox.Items.Add("Three");
     this.lstBox.Items.Add("Four");
     this.lstBox.Sorted = true;
     this.lstBox.Location = new System.Drawing.Point(10, 55);
     this.lstBox.Size = new System.Drawing.Size(130, 95);
    
  5. 다음 코드를 추가하여 에서 CheckBox 컨트롤의 모양을 사용자 지정합니다.Form1_Load

     this.chkBox.Text = "Disable";
     this.chkBox.Location = new System.Drawing.Point(15, 190);
     this.chkBox.Size = new System.Drawing.Size(110, 30);
    
  6. 다음 코드를 추가하여 에서 레이블 컨트롤의 모양을 사용자 지정합니다.Form1_Load

     this.lblCount.Text = lstBox.Items.Count.ToString() + " items";
     this.lblCount.Location = new System.Drawing.Point(55, 160);
     this.lblCount.Size = new System.Drawing.Size(65, 15);
    

폼에 컨트롤 추가

  1. 다음 코드를 추가하여 의 끝에 Form1_Load있는 양식의 배열에 각 개체 Controls 를 추가합니다.

     //Add controls to the form.
     this.Controls.Add(btnAdd);
     this.Controls.Add(txtBox);
     this.Controls.Add(lstBox);
     this.Controls.Add(chkBox);
     this.Controls.Add(lblCount);
    
  2. 프로젝트를 저장합니다.

작동하는지 확인합니다.

샘플이 작동하는지 확인하려면 디버그 메뉴에서 시작을 선택합니다.

참고

  • 폼과 컨트롤이 표시되지만 이벤트 처리기를 작성하지 않았으므로 현재 아무 작업도 수행하지 않습니다.
  • 이러한 컨트롤의 위치는 정적입니다. 폼이 늘어나면 더욱 견고하게 만들려면 폼 위치를 기준으로 점을 동적으로 만듭니다. 컨트롤이 정적이면 폼을 늘이면 폼에 다른 컨트롤이 표시되는 데 방해가 될 수 있습니다.

참조

프로그래밍 방식으로 컨트롤을 사용하는 방법에 대한 자세한 내용은 Visual Studio .NET Online 도움말 설명서의 Visual C# 섹션 또는 Visual Studio Online 도움말 설명서의 Windows 애플리케이션 항목을 참조하세요.