반응형
어떤 Form이 동시에 하나만 켜져야 한다면 어떻게 해야 할까
ManageForm이 있다고 하자
방법 1. ManageForm 내부에 static ManageForm을 만드는 방법
- ManageForm 안에 static MangeForm을 만들고
- 생성자를 private으로 만든다
- static ManageForm이 null일 때만 생성자를 호출하여 반환하고
- 그렇지 않으면 기존 form을 반환한다
public ManageForm : Form
{
private static ManageForm _form = null;
private ManageForm(){
intialize어쩌고();
}
public ManageForm CreateManageForm()
{
if(_form == null)
return new ManageForm();
return _form;
}
}
방법 2. Form 생성자를 호출하는 곳에서 null인지 확인하는 방법
- 차일드 폼을 멤버변수로 들고있고
- Click Event 함수에서 폼을 열 때 처리하는 방법
class ParentForm : Form
{
private ManageForm form = null;
public void ManageBtn_Clicked(~~){
if(form == null || form.isDisposed)
{
form = new ManageForm();
}
form.Show();
}
}
반응형
'백엔드 > C#' 카테고리의 다른 글
파일 경로 찾기 - OpenFileDialog (0) | 2018.05.13 |
---|---|
DataTable을 DataGridView에 DataBinding (0) | 2018.05.11 |
Mdi Form / Mdi Child Form (0) | 2018.05.10 |
Parent/Child DataGridView (0) | 2018.05.10 |
Dictionary에서 배열값 초기화 하기 (0) | 2018.05.10 |
댓글