2012-05-27 12 views
37

मैं एक संदेश बॉक्स पुष्टि करना चाहता हूं। यहाँ संदेश बॉक्स है:सी # संदेशबॉक्स संवाद परिणाम

MessageBox.Show("Do you want to save changes?", "Confirmation", messageBoxButtons.YesNoCancel); 

और मैं कुछ इस तरह (स्यूडोकोड में) बनाना चाहते:

if (MessageBox.Result == DialogResult.Yes) 
    ; 
else if (MessageBox.Result == DialogResult.No) 
    ; 
else 
    ; 

मैं कैसे कर सकते है कि सी # में?

उत्तर

93
DialogResult result = MessageBox.Show("Do you want to save changes?", "Confirmation", MessageBoxButtons.YesNoCancel); 
if(result == DialogResult.Yes) 
{ 
    //... 
} 
else if (result == DialogResult.No) 
{ 
    //... 
} 
else 
{ 
    //... 
} 
+0

आपको बहुत बहुत धन्यवाद ... यह वास्तव में आसान था .. :) – biox

+0

यह वह जगह है मैं क्या चाहते हैं, धन्यवाद .... –

7

तुम भी एक पंक्ति में कर सकते हैं:

if (MessageBox.Show(new Form() { TopMost = true }, "Text", "Text", MessageBoxButtons.YesNo) == DialogResult.Yes) 
+0

हाँ लेकिन पर "और अगर" अगर मैं else if (MessageBox डाल दिया। दिखाएँ ("टेक्स्ट", "शीर्षक", MessageBoxButtons.YesNo) == DialogResult.नहीं) संदेश – biox

+0

फिर से दोहराएगा, लेकिन यदि आपके पास केवल दो विकल्प हैं हां/नहीं आपके पास अन्य का उपयोग करने का कोई कारण नहीं है ... – sczdavos

+0

हाँ आप सही हैं लेकिन मेरे पास 3 हां, नहीं है और रद्द करें: डी – biox

2

इस उत्तर तो मैं मेरे लिए काम नहीं कर रहा था:

if (MessageBox.Show("Text", "Title", MessageBoxButtons.YesNo) == DialogResult.Yes) 

और आप शीर्ष पर एक messagebox दिखाना चाहते हैं MSDN पर चला गया। वहाँ मैंने पाया कि अब कोड इस तरह दिखना चाहिए:

//var is of MessageBoxResult type 
var result = MessageBox.Show(message, caption, 
          MessageBoxButtons.YesNo, 
          MessageBoxIcon.Question); 

// If the no button was pressed ... 
if (result == DialogResult.No) 
{ 
    ... 
} 

आशा है कि यह

3

आपकी मदद करता है WPF उपयोग कर रहे हैं और पिछले जवाब में मदद नहीं है, आप का उपयोग कर परिणाम प्राप्त कर सकते हैं, तो:

var result = MessageBox.Show("Message", "caption", MessageBoxButton.YesNo, MessageBoxImage.Question); 

if (result == MessageBoxResult.Yes) 
{ 
    // Do something 
} 
2

अगर कथन का उपयोग करने के बजाय मैं एक स्विच का उपयोग करने का सुझाव दे सकता हूं, तो मैं संभव होने पर बयान का उपयोग करने से बचने की कोशिश करता हूं।

var result = MessageBox.Show(@"Do you want to save the changes?", "Confirmation", MessageBoxButtons.YesNoCancel); 
switch (result) 
{ 
    case DialogResult.Yes: 
     SaveChanges(); 
     break; 
    case DialogResult.No: 
     Rollback(); 
     break; 
    default: 
     break; 
} 
संबंधित मुद्दे