मैं "हां", "नहीं" विकल्प और एक संवाद के साथ एक संदेश बॉक्स कैसे बना सकता हूं?


345

मैं सिंपल येस / नो चॉइस मैसेजबॉक्स बनाना चाहता हूं, लेकिन मुझे लगता है कि इसके लिए एक फॉर्म डिजाइन करना बकवास है। मैंने सोचा कि मैं इसे पूरा करने के लिए मैसेजबॉक्स, बटन आदि का उपयोग कर सकता हूं। यह सरल है, लेकिन चूंकि कोई संवाद नहीं है। वापस लौटा, मैं परिणाम कैसे प्राप्त करूं?

जवाबों:


791

यह करना चाहिए:

DialogResult dialogResult = MessageBox.Show("Sure", "Some Title", MessageBoxButtons.YesNo);
if(dialogResult == DialogResult.Yes)
{
    //do something
}
else if (dialogResult == DialogResult.No)
{
    //do something else
}

6
जवाब विंडोज के लिए था, विंडोज फोन के बारे में नहीं जो मुझे ज्यादा पता नहीं है :)
मिकेल स्वेनसन

22
'DialogResult' wpf में काम नहीं करता है। आपको 'MessageBoxResult' का उपयोग करना होगा।
मटसोल

56
DialogResult dr = MessageBox.Show("Are you happy now?", 
                      "Mood Test", MessageBoxButtons.YesNo);
switch(dr)
{
   case DialogResult.Yes:
      break;
   case DialogResult.No:
      break;
}

MessageBox वर्ग वह है जो आप ढूंढ रहे हैं।


32
MessageBox.Show(title, text, messageboxbuttons.yes/no)

यह एक DialogResult देता है जिसे आप चेक कर सकते हैं।

उदाहरण के लिए,

if(MessageBox.Show("","",MessageBoxButtons.YesNo) == DialogResult.Yes)
{
   //do something
}

16

MessageBox एक DialogResults का उत्पादन करता है

DialogResult r = MessageBox.Show("Some question here");

आप बटनों को भी आसानी से निर्दिष्ट कर सकते हैं। अधिक प्रलेखन http://msdn.microsoft.com/en-us/library/ba2a6d06.aspx पर पाया जा सकता है


12

उपयोग:

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 के बजाय विंडोज फोन पर किया जाता है ...


6

आप इस वेरिएंट को टेक्स्ट स्ट्रिंग्स के साथ भी उपयोग कर सकते हैं, यहां पर पूर्ण परिवर्तित कोड (कोड मिकेल से), C # 2012 में परीक्षण किया गया है:

// 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

5

@ मिकेल स्वेनसन का जवाब सही है। मैं इसके साथ एक छोटा सा जोड़ना चाहता था:

मैसेजबॉक्स आइकन को भी शामिल किया जा सकता है जिसमें नीचे की तरह एक अतिरिक्त संपत्ति है:

DialogResult dialogResult = MessageBox.Show("Sure", "Please Confirm Your Action", MessageBoxButtons.YesNo, MessageBoxIcon.Question);


0
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
}

अधिक विवरण यहां से देखें


0

इस सरल कोड ने मेरे लिए काम किया। मैंने इसे MSDN से यहाँ पकड़ा:

https://social.msdn.microsoft.com/Forums/en-US/d1092a96-96b0-4ca4-b716-0c8e55e42ee9/how-can-i-manage-messagebox-result-?forum=Vsexpressvcs

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'

0

इसे इस्तेमाल करे:

if (MessageBox.Show("Are you sure", "Title_here", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
{
    Do something here for 'Yes'...
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.