C#

[C#] 확인창 MessageBox ( confirm창 ) 예제들

saltdoll 2015. 10. 2. 02:58
반응형

메세지박스는 사용자와의 커뮤티케이션을 위한 안내 확인 창입니다.

가장 기본이면서, 기본 어플리케이션에서는 없어서는 안되는 컨트롤입니다.

Yes / No / Cancal 창

 

확인 알람창 (Yes/No) 예제

YES / NO 창

 

var confirmResult = MessageBox.Show("Are you sure to delete this item ??",
			"Confirm Delete!!", MessageBoxButtons.YesNo); 

if (confirmResult == DialogResult.Yes) 
{ 
// If 'Yes', do something here. 
} 
else 
{
// If 'No', do something here. 
}

 

출처: http://stackoverflow.com/questions/3845695/is-there-a-builtin-confirmation-dialog-in-windows-forms

 

 

 

DialogResult 값들

또다른 예제

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {

     public Form1()
     {
         InitializeComponent();
     }

       private void Form1_Load(object sender, EventArgs e)
       {
           DialogResult result = MessageBox.Show("How are you?", "Hi",
       					MessageBoxButtons.OKCancel);

           switch (result)
           {
              case DialogResult.OK:
              {
              this.Text = "[OK]";
              break;
              }

              case DialogResult.Cancel:
              {
               this.Text = "[Cancel]";
               break;
              }
           }
       }

    }
}

 

 Enum values:

DialogResult.None

DialogResult.OK

DialogResult.Cancel

DialogResult.Abort

DialogResult.Retry

DialogResult.Ignore

DialogResult.Yes

DialogResult.No

 

 

다이얼로그 형식들

 

 MessageBox.Show("Dot Net Perls is awesome.");

 MessageBox.Show("Dot Net Perls is awesome." 
   ,"Important Message");

 DialogResult result1
 = MessageBox.Show("Is Dot Net Perls awesome?"
  ,"Important Question"
   ,MessageBoxButtons.YesNo);

 DialogResult result2 
= MessageBox.Show("Is Dot Net Perls awesome?"
  ,"Important Query"
  ,MessageBoxButtons.YesNoCancel
  ,MessageBoxIcon.Question);

 DialogResult result2
 = MessageBox.Show("Is Dot Net Perls awesome?"
  ,"Important Query"
  ,MessageBoxButtons.YesNoCancel
  ,MessageBoxIcon.Question2);

 if (result1 == DialogResult.Yes &&
   result2 == DialogResult.Yes &&
   result3 == DialogResult.No) {
  MessageBox.Show("You answered yes, yes and no.");
}

 MessageBox.Show("Dot Net Perls is the best."

    , "Critical Warning"

    , MessageBoxButtons.OKCancel

    , MessageBoxIcon.Warning

    , MessageBoxDefaultButton.Button1

    , MessageBoxOptions.RightAlign

    , true);

 MessageBox.Show("Dot Net Perls is super."

    , "Important Note"

    , MessageBoxButtons.OK

    , MessageBoxIcon.Exclamation

    , MessageBoxDefaultButton.Button1);

 

출처: http://www.dotnetperls.com/dialogresult

출처: http://www.dotnetperls.com/messagebox-show

 

 

 

Form.ShowDialog 메서드 ()

설명
 

응용 프로그램에 모달 대화 상자를 표시 하려면이 메서드를 사용할 수 있습니다.이 메서드가 호출 될 때 대화 상자를 닫은 후 뒤에 나오는 코드까지 실행 되지 않습니다.값 중 하나는 대화 상자를 할당할 수 있습니다는 DialogResult 열거형에 할당 하 여는 DialogResult 속성의는 Button 설정 하거나 폼에는 DialogResult 코드에서 폼의 속성입니다.그런 다음이 값은이 메서드에서 반환 됩니다.대화 상자에서 발생 한 작업을 처리 하는 방법을 결정 하려면이 반환 값을 사용할 수 있습니다.예: 대화 상자가 닫히고 반환 하는 경우는 DialogResult.Cancel 값이이 메서드를 통해 코드를 호출한 다음 못하게 ShowDialog 에서 실행 합니다.

폼을 모달 대화 상자로 표시 되 면 클릭 하 여 닫기 단추 (폼의 오른쪽 위 모퉁이에 X 표시가 있는 단추) 하면 폼이를 숨길 수 및 DialogResult 로 설정 되어야 하는 속성 DialogResult.Cancel.달리 비 모달 폼이는 Close 사용자 대화 상자의 닫기 폼 단추를 클릭 하거나의 값을 설정 하는 경우.NET Framework에서 메서드가 호출 되지 않습니다는DialogResult 속성입니다.대신 폼은 숨겨져 있으며 대화 상자의 새 인스턴스를 만들지 않고도 다시 표시할 수 있습니다.호출 해야 대화 상자는 닫히는 대신 숨겨지므로 표시 된 폼을 하기 때문에 Dispose 폼은 더이상 필요 하지 않으면 응용 프로그램에서 폼의 메서드.

이 버전의는 ShowDialog 메서드로 지정 하지 않습니다 폼 또는 컨트롤의 소유자입니다.이 버전이 호출 되는 경우에 현재 활성 창 대화 상자의 소유자를 됩니다.특정 소유자를 지정 하려는 경우이 메서드의 다른 버전을 사용 합니다.

출처: https://msdn.microsoft.com/ko-kr/library/c7ykbedk(v=vs.110).aspx

 

 

 

 

 

Popup window in winform c#

 

Just create another form (lets call it FormPopoup) using Visual studio. In button handler write followng code:

var form = new FormPopoup(); form.Show(this); // if you need non-modal window

If you need non-modal window use: form.Show();. If you need dialog (so your code will hangs on this invocation until you close opened form) use: form.ShowDialog()

출처: http://stackoverflow.com/questions/16463599/popup-window-in-winform-c-sharp 

 

 

반응형
도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)