◆ 다른 폼 간의 이벤트 설정
C# 에서는 컴포넌트(체크박스, 텍스트 박스 등)를 public으로 선언하면 폼 간의 컴포넌트 이벤트를 설정할 수 있습니다.
폼2에서 체크박스를 변경하면 폼1에서는 이벤트로 처리가 가능한 예제를 만들어 보겠습니다.
폼1 소스 |
public partial class Form1 : Form { // 일단폼를생성하고, 폼의중복생성방지를위해hide, show 를이용합니다. Form2 frmForm2 = new Form2();
public Form1() { InitializeComponent();
// 애플상태변경이벤트체크 frmForm2.chkApple.CheckedChanged += new EventHandler(chkApple_CheckedChanged);
// 바나나상태변경이벤트체크 frmForm2.chkBanana.CheckedChanged += new EventHandler(chkBanana_CheckedChanged); }
void chkBanana_CheckedChanged(object sender, EventArgs e) { this.UpdateLabel(); }
void chkApple_CheckedChanged(object sender, EventArgs e) { this.UpdateLabel(); }
void UpdateLabel() { this.lblData.Text = ""; if (frmForm2.chkApple.Checked) this.lblData.Text += "사과,"; if (frmForm2.chkBanana.Checked) this.lblData.Text += "바나나,"; }
private void button1_Click(object sender, EventArgs e) { // 이미생성된것이라show만해줍니다. frmForm2.Show(); }
} |
폼2 소스 |
public Form2() { InitializeComponent(); }
private void Form2_FormClosing(object sender, FormClosingEventArgs e) { // 폼를닫기했을때실제로닫히지않고hide로숨기기만합니다. this.Hide(); e.Cancel = true; } |
◆ 전체 소스
'스터디 > C#.NET:자료' 카테고리의 다른 글
Visual Studio 2005, 2008 환경설정 –줄번호, 단축키 설정 (0) | 2011.01.05 |
---|---|
C#, 사용자 정의 컨트롤 사용하기 (0) | 2011.01.05 |
C#, 사용자 정의 컨트롤 만들기 (0) | 2011.01.05 |
C# 에서 리소스 문자열 사용하기 (Resource String ) (0) | 2010.12.14 |
C# TextBox 전화번호만 받기(숫자, -만 받기) (0) | 2010.11.15 |
객체 지향 (패키지화, 상속)에 대해서 (0) | 2010.11.15 |
다른 폼의 데이터 제어/변경하기 (0) | 2010.11.06 |
런타임에러, 예외 처리 방법, try catch (0) | 2010.10.31 |
ListView 에 ComboBox 붙이기 (3) | 2010.10.28 |
C# 에서 string 관련 (0) | 2010.10.22 |