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 애플리케이션 만들기
Visual Studio .NET 또는 Visual Studio를 시작하고 WinControls라는 새 Visual C# Windows 애플리케이션 프로젝트를 만듭니다. Form1은 기본적으로 프로젝트에 추가됩니다.
Form1을 두 번 클릭하여 이벤트 프로시저를 만들고 봅니다
Form1_Load
.일반적인 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.cs 및 Form1.designer.cs. Form1.cs 코드를 작성합니다. Designer.cs 파일은 Windows Forms Designer 컨트롤을 추가하여 수행한 모든 작업을 구현하는 코드를 작성하는 위치입니다. Visual C#의 Windows Forms Designer 대한 자세한 내용은 프로젝트 만들기(Visual C#)를 참조하세요.
양식 및 컨트롤 속성 사용자 지정
이벤트 프로시저를
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;
이벤트 프로시저에
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);
다음 코드를 추가하여 에서 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);
다음 코드를 추가하여 에서
Form1_Load
ListBox 컨트롤의 모양을 사용자 지정합니다.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);
다음 코드를 추가하여 에서 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);
다음 코드를 추가하여 에서 레이블 컨트롤의 모양을 사용자 지정합니다.
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);
폼에 컨트롤 추가
다음 코드를 추가하여 의 끝에
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);
프로젝트를 저장합니다.
작동하는지 확인합니다.
샘플이 작동하는지 확인하려면 디버그 메뉴에서 시작을 선택합니다.
참고
- 폼과 컨트롤이 표시되지만 이벤트 처리기를 작성하지 않았으므로 현재 아무 작업도 수행하지 않습니다.
- 이러한 컨트롤의 위치는 정적입니다. 폼이 늘어나면 더욱 견고하게 만들려면 폼 위치를 기준으로 점을 동적으로 만듭니다. 컨트롤이 정적이면 폼을 늘이면 폼에 다른 컨트롤이 표시되는 데 방해가 될 수 있습니다.
참조
프로그래밍 방식으로 컨트롤을 사용하는 방법에 대한 자세한 내용은 Visual Studio .NET Online 도움말 설명서의 Visual C# 섹션 또는 Visual Studio Online 도움말 설명서의 Windows 애플리케이션 항목을 참조하세요.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기