부모 Form : pForm
자식 Form : cForm
부모 Form
cForm = new 자식FORM() cForm.btnEnable += new cFrom.btnEnable(fProcess_btnEnable); viod fProcess_btnEnable(bool flag) { this.btnStart.Enabled = flag; }자식 Form
public delegate void btnEnableDel(bool flag); public event btnEnableDel btnEnable; public static void SetEnable(bool flag) { btnEnable(flag); }난 실제로 사용을 일단 AssembleDelegate.cs 파일 생성 후
class AssembleDelegate { public delegate void btnEnableDel(bool flag); public static event btnEnableDel btnEnable; public static void SetEnable(bool flag) { btnEnable(flag); } }부모 Form에서
private void Method() { Form form = new Form(); AssembleDelegate.btnEnable += new AssembleDelegate.btnEnableDel(fProcess_btnEnable); form.Show(); } void fProcess_btnEnable(bool flag) { this.btnStart.Enabled = flag; }자식Form 에서
private void Method() { AssembleDelegate.SetEnable(true); }이렇게 사용했다. 일단 여러가지 종류의 자식폼이 있다 그 자식폼이 열리게 되면 부모 폼에 버튼을 비활성화 시키기 위해 코드를 작성했고.Delegate를 따로 Static에 빼 둔건 자식 폼이 여러개일 경우 사용하기 위해 저렇게 빼두었다.
'프로그래밍 > C# ' 카테고리의 다른 글
Type를 이용하여 Form을 띄우기 (0) | 2013.07.16 |
---|---|
연결된 프린터 가져오기 (0) | 2013.07.16 |
Form Size 및 Text에 의한 FontSize 자동 변화 (0) | 2013.07.16 |
각 Form Control을 한 Class에서 사용하기 (0) | 2013.07.16 |
실행 된 Process Size 및 위치 알아내기 (0) | 2013.07.16 |