C# 프로그램 실행 도중 동적으로 컨트롤 추가 및 제거 하는 방법
원본 출처는 여기서 발췌: https://docs.microsoft.com/ko-kr/dotnet/framework/winforms/controls/how-to-add-to-or-remove-from-a-collection-of-controls-at-run-time
* 추가하기
추가될 컨트롤의 인스턴스를 만듭니다.
새 컨트롤의 속성을 설정합니다.
부모 컨트롤의
Controls
컬렉션에 컨트롤을 추가합니다.다음 코드 예제에서는의 인스턴스를 만드는 방법을 보여 줍니다.는 Button 제어 합니다. 포함 하는 폼 필요는 Panel 컨트롤과 하는 단추에 대 한 이벤트 처리 메서드 생성,
NewPanelButton_Click
, 이미 있습니다.C#public Button newPanelButton = new Button(); public void addNewControl() { // The Add method will accept as a parameter any object that derives // from the Control class. In this case, it is a Button control. panel1.Controls.Add(newPanelButton); // The event handler indicated for the Click event in the code // below is used as an example. Substitute the appropriate event // handler for your application. this.newPanelButton.Click += new System.EventHandler(this. NewPanelButton_Click); }
* 제거하기
이벤트에서 이벤트 처리기를 제거합니다. Visual Basic에서 사용 하 여는 RemoveHandler 문 키워드입니다; Visual C#을 사용 하 여는 -= 연산자 (C# 참조)합니다.
Remove
메서드를 사용하여 패널의Controls
컬렉션에서 원하는 컨트롤을 삭제합니다.호출 된 Dispose 메서드 컨트롤에서 사용 하는 모든 리소스를 해제 합니다.
C#private void removeControl(object sender, System.EventArgs e) { // NOTE: The code below uses the instance of // the button (newPanelButton) from the previous example. if(panel1.Controls.Contains(newPanelButton)) { this.newPanelButton.Click -= new System.EventHandler(this. NewPanelButton_Click); panel1.Controls.Remove(newPanelButton); newPanelButton.Dispose(); } }
'컴퓨터내삶의이유 > 개발' 카테고리의 다른 글
무료로 홈페이지 문의하기 기능 쉽게 구현하는 방법 (Gmail, PHPMailer 활용) (6) | 2019.01.04 |
---|---|
이슈트레킹툴 WebIssues 사용자 비밀번호 리셋 방법 (0) | 2018.11.19 |
ODP.NET Oracle.ManagedDataAccess.Client.OracleDbType 열거형과 Oracle전용 데이터형 매칭하는 방법 (0) | 2018.01.19 |
Syncfusion GridDataBoundGrid 사용법 (C#) (1) | 2016.07.26 |
(스크랩) [mysql] 현재 날짜, 시간을 반환하는 함수 (0) | 2015.06.09 |