본문 바로가기
개발언어/.NET

C# WinForm 동적으로 생성한 Control 접근하는 방법

by 공장장코난 2021. 5. 13.

C# WinForm에서 동적으로 Controls(Button, Label, ,,,)을 생성 후 작업 중 생성한 Control에 접근하는 방법을 메모해 둔다.

우선 Button을 동적으로 생성해 보자.
Button btnTest = new Button();
btnTest.Name = "btnTest"; //Controls 에서 조회키가 되므로 Naming에 신경쓰자.
btnTest.Text = "Test";
btnTest.Size = new System.Drawing.Size(100, 30);
btnTest.Location = new System.Drawing.Point(50, 50);
btnTest.Click += new System.EventHandler(btnTest_Click);
this.Controls.Add(btnTest);

동적으로 생성한 Button 접근
Button btn = null;
if (this.Controls.ContainsKey("btnTest")) //이름으로 검색
{
   //ControlCollection을 Button으로 받자.
   btn = this.Controls["btnTest"] as Button;
   btn.PerformClick(); 
}