2013-11-16 6 views
-1

У меня возникли проблемы с диалогом с MessageBox с текстом типа «Вы хотите сохранить chanes до Untitled?»? с 3 кнопками типа «сохранить», «не сохранять» и «отменить»?создание диалогового окна с сообщением C#

private void MenuItemNew() 
    { 
     if (textBox.Text == "") 
     { 
      textBox.Text = String.Empty; 
     } 
     else 
      DialogResult result3 = MessageBox.Show("Do you want to save changes to Untitled?", 
"The Question", 
MessageBoxButtons.YesNoCancel, 
MessageBoxIcon.Question, 
MessageBoxDefaultButton.Button1); 

    if (result3 == DialogResult.Yes) 
    { 
     //statements if Result = Yes 
    } 
    else if (result3 == DialogResult.No) 
    { 
     //statements if Result = NO 

}

я попытался это, но он не работает

+0

вы хотите MessageBox? или вы создаете пользовательский диалог? –

+2

Вы что-нибудь пробовали? –

+1

MessageBox с кнопками –

ответ

-1

Ваш вопрос не ясен, если вы хотите, чтобы отобразить MessageBox

Попробуйте это:

DialogResult result3 = MessageBox.Show("Do you want to save changes to Untitled?", 
    "The Question", 
    MessageBoxButtons.YesNoCancel, 
    MessageBoxIcon.Question); 

// Во время обработки Результат

 if (result3 == DialogResult.Yes) 
     { 
      //statements if Result = Yes 
     } 
     else if (result3 == DialogResult.No) 
     { 
      //statements if Result = NO 
     } 

Решение:

private void MenuItemNew() 
     { 
      if (textBox.Text.ToString().Trim().Equals("")) 
      { 
       textBox.Text = String.Empty; 
      } 
      else 
      { 
DialogResult result3 = MessageBox.Show("Do you want to save changes to Untitled?","The Question",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question,MessageBoxDefaultButton.Button1); 

     if (result3 == DialogResult.Yes) 
     { 
      //statements if Result = Yes 
     } 
     else if (result3 == DialogResult.No) 
     { 
      //statements if Result = NO 
     } 

     }//end of else block 
    }//end of function 

, если вы хотите создать MessageBox с вашими собственными кнопками, то вы должны разработать один.

+0

Как я могу улучшить это? не могли бы вы объяснить мне, что в этом плохого? –

+1

** Я сказал ** Ошибка для DialogResult: \t Встроенный оператор не может быть объявлением или помеченной инструкцией –

+0

Извините, я не получил вас, где вы получаете эту ошибку? с кодом выше никаких проблем. –

1

Используйте этот sample:

MessageBox.Show("Dot Net Perls is awesome."); 
     // 
     // Dialog box with text and a title. [2] 
     // 
     MessageBox.Show("Dot Net Perls is awesome.", 
     "Important Message"); 
     // 
     // Dialog box with two buttons: yes and no. [3] 
     // 
     DialogResult result1 = MessageBox.Show("Is Dot Net Perls awesome?", 
     "Important Question", 
     MessageBoxButtons.YesNo); 
     // 
     // Dialog box with question icon. [4] 
     // 
     DialogResult result2 = MessageBox.Show("Is Dot Net Perls awesome?", 
     "Important Query", 
     MessageBoxButtons.YesNoCancel, 
     MessageBoxIcon.Question); 
     // 
     // Dialog box with question icon and default button. [5] 
     // 
     DialogResult result3 = MessageBox.Show("Is Visual Basic awesome?", 
     "The Question", 
     MessageBoxButtons.YesNoCancel, 
     MessageBoxIcon.Question, 
     MessageBoxDefaultButton.Button2); 
+1

Я отредактировал вопрос plz посмотреть;) Mercy –

+2

@MelodyHajian Я думаю, что если этот код вам не подходит, вы должны создать пользовательский поле сообщения, подобное этому http://www.codeproject.com/Articles/17253/A-Custom-Message-Box –

+1

В чем проблема с моими кодами? Ошибка \t для DialogResult \t Встроенный оператор не может быть объявлением или помеченной инструкцией –

Смежные вопросы