안녕하세요. 언제나 휴일에 언휴예요.
이번 실습은 Button을 클릭하였을 때 TextBox에 입력한 내용으로 Label 내용을 설정하는 프로그램 제작입니다.
1. 컨트롤 배치 2. 버튼 클릭 이벤트 핸들러 등록 3. 소스 코드 구현
1. 컨트롤 배치
위 그림처럼 TextBox(tbox_msg), Button(btn_set), Label(lb_msg)를 배치하고 속성 창에서 Name을 설정하세요.
2. 버튼 클릭 이벤트 핸들러 등록
버튼을 더블 클릭하면 자동으로 버튼 클릭 이벤트 핸들러를 등록해 줍니다.
혹은 속성 창에서 btn_set 버튼의 Click 이벤트 핸들러를 등록하세요.
3. 소스 코드 구현
Form1.cs 파일의 btn_set의 Click 이벤트 핸들러를 구현합시다.
tbox_msg의 Text 속성 값으로 lb_msg의 Text속성 값을 설정합니다.
그리고 tbox_msg의 Text 속성 값은 빈 문자열로 설정하세요.
private void btn_set_Click(object sender, EventArgs e) { lb_msg.Text = tbox_msg.Text; tbox_msg.Text = ""; }
놀랍게도 구현이 끝났으니 실행해서 확인해 보세요.
전체 소스 코드는 다음과 같습니다.
using System; using System.Windows.Forms; namespace TextBox버튼Label { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btn_set_Click(object sender, EventArgs e) { lb_msg.Text = tbox_msg.Text; tbox_msg.Text = ""; } } }
컨트롤 배치나 이벤트 핸들러 설정 등의 내용은 마법사에 의해 Form1.Designer.cs에 코드를 작성되죠.
이 소스 파일은 등록한 이벤트 핸들러를 삭제할 때 외에는 만질 일이 거의 없어요.
마법사가 어떤 코드를 작성해 주었는지 간략하게 보시는 것은 나쁘지 않겠죠.
namespace TextBox버튼Label { partial class Form1 { /// /// 필수 디자이너 변수입니다. /// private System.ComponentModel.IContainer components = null; /// /// 사용 중인 모든 리소스를 정리합니다. /// ///관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form 디자이너에서 생성한 코드 /// /// 디자이너 지원에 필요한 메서드입니다. /// 이 메서드의 내용을 코드 편집기로 수정하지 마세요. /// private void InitializeComponent() { this.tbox_msg = new System.Windows.Forms.TextBox(); this.btn_set = new System.Windows.Forms.Button(); this.lb_msg = new System.Windows.Forms.Label(); this.checkedListBox1 = new System.Windows.Forms.CheckedListBox(); this.SuspendLayout(); // // tbox_msg // this.tbox_msg.Location = new System.Drawing.Point(27, 22); this.tbox_msg.Name = "tbox_msg"; this.tbox_msg.Size = new System.Drawing.Size(303, 21); this.tbox_msg.TabIndex = 0; // // btn_set // this.btn_set.Location = new System.Drawing.Point(356, 22); this.btn_set.Name = "btn_set"; this.btn_set.Size = new System.Drawing.Size(75, 23); this.btn_set.TabIndex = 1; this.btn_set.Text = "설정"; this.btn_set.UseVisualStyleBackColor = true; this.btn_set.Click += new System.EventHandler(this.btn_set_Click); // // lb_msg // this.lb_msg.AutoSize = true; this.lb_msg.Location = new System.Drawing.Point(25, 73); this.lb_msg.Name = "lb_msg"; this.lb_msg.Size = new System.Drawing.Size(53, 12); this.lb_msg.TabIndex = 2; this.lb_msg.Text = "[메시지]"; // // checkedListBox1 // this.checkedListBox1.FormattingEnabled = true; this.checkedListBox1.Location = new System.Drawing.Point(282, 28); this.checkedListBox1.Name = "checkedListBox1"; this.checkedListBox1.Size = new System.Drawing.Size(120, 84); this.checkedListBox1.TabIndex = 3; // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(482, 116); this.Controls.Add(this.checkedListBox1); this.Controls.Add(this.lb_msg); this.Controls.Add(this.btn_set); this.Controls.Add(this.tbox_msg); this.Name = "Form1"; this.Text = "Button 클릭 시 TextBox 내용으로 Label 속성 설정하기"; this.ResumeLayout(false); this.PerformLayout(); } #endregion private System.Windows.Forms.TextBox tbox_msg; private System.Windows.Forms.Button btn_set; private System.Windows.Forms.Label lb_msg; private System.Windows.Forms.CheckedListBox checkedListBox1; } }