본문 바로가기
Function/C#

C# Dialog문 사용법 정리

by wawManager 2024. 8. 29.

 

안녕하세요.

ShowDialog()는 Windows Forms 애플리케이션에서 사용되는 메서드로, 모달 대화 상자를 표시하는 데 사용됩니다. 모달 대화 상자는 사용자가 대화 상자를 닫기 전까지 다른 창과 상호작용할 수 없도록 합니다.

# ShowDialog() 기본 사용 예제
아래는 ShowDialog()를 사용하여 간단한 메시지 상자를 표시하는 예제입니다.

using System;
using System.Windows.Forms;

class Program : Form
{
    static void Main()
    {
        Application.Run(new Program());
    }

    public Program()
    {
        Button button = new Button();
        button.Text = "Click Me";
        button.Click += new EventHandler(Button_Click);
        Controls.Add(button);
    }

    private void Button_Click(object sender, EventArgs e)
    {
        // 메시지 박스를 모달 대화 상자로 표시
        DialogResult result = MessageBox.Show("Do you want to continue?", "Confirmation", MessageBoxButtons.YesNo);

        if (result == DialogResult.Yes)
        {
            MessageBox.Show("You chose Yes.");
        }
        else
        {
            MessageBox.Show("You chose No.");
        }
    }
}


# 코드 설명

1. Application.Run(new Program());:
   - Program 클래스를 실행하여 폼(Form)을 표시합니다. 

2. Button button = new Button();:
   - 버튼을 생성하고 폼에 추가합니다.

3. button.Click += new EventHandler(Button_Click);:
   - 버튼 클릭 이벤트를 처리할 메서드를 연결합니다.

4. ShowDialog()를 사용하는 MessageBox.Show():
   - MessageBox.Show() 메서드가 ShowDialog()를 내부적으로 호출하여 모달 대화 상자를 표시합니다.
   - MessageBoxButtons.YesNo는 "Yes"와 "No" 버튼이 있는 대화 상자를 생성합니다.
   - DialogResult result에는 사용자가 클릭한 버튼의 결과가 저장됩니다.

5. 조건에 따른 추가 메시지 박스:
   - 사용자가 "Yes"를 선택하면 "You chose Yes." 메시지가, "No"를 선택하면 "You chose No." 메시지가 다시 표시됩니다.

# 예제 실행

- 이 프로그램을 실행하면 하나의 버튼이 있는 창이 나타납니다.
- 버튼을 클릭하면 "Do you want to continue?"라는 메시지와 함께 Yes/No 버튼이 있는 메시지 박스가 나타납니다.
- Yes 또는 No를 선택하면 그에 따른 메시지가 다시 표시됩니다.

# 결론

ShowDialog()는 대화 상자가 표시되는 동안 사용자의 다른 창 상호작용을 막는 모달 방식의 대화 상자를 만들 때 유용합니다. 이 예제를 통해 대화 상자와 상호작용하는 기본적인 방법을 이해할 수 있습니다. Windows Forms에서 사용자와의 상호작용을 처리할 때 자주 사용됩니다

 

감사합니다.

 

 

 

 

(chat gpt 참고) .