반응형
"예", "아니오"선택 사항 및 DialogResult로 메시지 상자를 작성하는 방법
간단한 예 / 아니오 선택 MessageBox를 만들고 싶지만 양식을 디자인하는 것은 말도 안됩니다. MessageBox를 사용하고 버튼을 추가 하여이 작업을 수행 할 수 있다고 생각했습니다. 간단하지만 DialogResult가 반환되지 않으므로 결과를 어떻게 검색합니까?
이것은해야합니다 :
DialogResult dialogResult = MessageBox.Show("Sure", "Some Title", MessageBoxButtons.YesNo);
if(dialogResult == DialogResult.Yes)
{
//do something
}
else if (dialogResult == DialogResult.No)
{
//do something else
}
DialogResult dr = MessageBox.Show("Are you happy now?",
"Mood Test", MessageBoxButtons.YesNo);
switch(dr)
{
case DialogResult.Yes:
break;
case DialogResult.No:
break;
}
MessageBox 클래스는 당신이 찾고있는 것입니다.
MessageBox.Show(title, text, messageboxbuttons.yes/no)
확인할 수있는 DialogResult를 반환합니다.
예를 들어
if(MessageBox.Show("","",MessageBoxButtons.YesNo) == DialogResult.Yes)
{
//do something
}
MessageBox 는 DialogResults를 생성합니다
DialogResult r = MessageBox.Show("Some question here");
버튼을 충분히 쉽게 지정할 수도 있습니다. 자세한 내용은 http://msdn.microsoft.com/en-us/library/ba2a6d06.aspx 를 참조 하십시오.
사용하다:
MessageBoxResult m = MessageBox.Show("The file will be saved here.", "File Save", MessageBoxButton.OKCancel);
if(m == m.Yes)
{
// Do something
}
else if (m == m.No)
{
// Do something else
}
MessageBoxResult는 DialogResult 대신 Windows Phone에서 사용됩니다 ...
이 변형을 텍스트 문자열과 함께 사용할 수도 있습니다. C # 2012에서 테스트 한 완전히 변경된 코드 (Mikael의 코드)는 다음과 같습니다.
// Variable
string MessageBoxTitle = "Some Title";
string MessageBoxContent = "Sure";
DialogResult dialogResult = MessageBox.Show(MessageBoxContent, MessageBoxTitle, MessageBoxButtons.YesNo);
if(dialogResult == DialogResult.Yes)
{
//do something
}
else if (dialogResult == DialogResult.No)
{
//do something else
}
당신은 후에 할 수 있습니다
.YesNo
메시지 아이콘을 삽입
, MessageBoxIcon.Question
@Mikael Svenson의 답변이 맞습니다. 나는 단지 그것에 작은 추가를 추가하고 싶었다.
Messagebox 아이콘에는 다음과 같은 추가 속성이 포함될 수도 있습니다.
DialogResult dialogResult = MessageBox.Show("Sure", "Please Confirm Your Action", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
dynamic MsgResult = this.ShowMessageBox("Do you want to cancel all pending changes ?", "Cancel Changes", MessageBoxOption.YesNo);
if (MsgResult == System.Windows.MessageBoxResult.Yes)
{
enter code here
}
else
{
enter code here
}
이 간단한 코드는 저에게 효과적이었습니다. MSDN에서 가져 왔습니다.
if (System.Windows.Forms.MessageBox.Show
("Are you sure you want to add the audit?", "Add",
System.Windows.Forms.MessageBoxButtons.YesNo,
System.Windows.Forms.MessageBoxIcon.Question)
==System.Windows.Forms.DialogResult.Yes)
// Do stuff after 'YES is clicked'
else
// DO stuff after 'NO is clicked'
if (MessageBox.Show("Please confirm before proceed" + "\n" + "Do you want to Continue ?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
//do something if YES
}
else
{
//do something if NO
}
반응형
'Programming' 카테고리의 다른 글
C ++의 구조 생성자? (0) | 2020.03.05 |
---|---|
svn 'out of date'오류를 어떻게 극복합니까? (0) | 2020.03.05 |
bash 스크립트에서 타임 스탬프 변수 만들기 (0) | 2020.03.05 |
실행중인 컨테이너에서 쉘 세션을 시작할 수 있습니까 (ssh없이) (0) | 2020.03.05 |
한 번에 모든 MySQL 데이터베이스 내보내기 및 가져 오기 (0) | 2020.03.05 |