यहां उपयोग की जाने वाली विधि है। एक बेहतर उपयोगकर्ता अनुभव और स्थिरता के लिए जिस तरह से "पुष्टि" या "निरस्त" के बजाय "हटाएं" और "रद्द करें" शब्दों का उपयोग करने पर विचार करें।
public static MessagePromptResult Show(string messageBoxText, string caption, string button1, string button2)
{
int? returned = null;
using (var mre = new System.Threading.ManualResetEvent(false))
{
string[] buttons;
if (button2 == null)
buttons = new string[] { button1 };
else
buttons = new string[] { button1, button2 };
Microsoft.Xna.Framework.GamerServices.Guide.BeginShowMessageBox(
caption,
messageBoxText,
buttons,
0, // can choose which button has the focus
Microsoft.Xna.Framework.GamerServices.MessageBoxIcon.None, // can play sounds
result =>
{
returned = Microsoft.Xna.Framework.GamerServices.Guide.EndShowMessageBox(result);
mre.Set(); // could have done it all without blocking
}, null);
mre.WaitOne();
}
if (!returned.HasValue)
return MessagePromptResult.None;
else if (returned == 0)
return MessagePromptResult.Button1;
else if (returned == 1)
return MessagePromptResult.Button2;
else
return MessagePromptResult.None;
}
आप अपने प्रोजेक्ट को Microsoft.Xna.Framework.GamerServices के लिए एक संदर्भ जोड़ने की आवश्यकता होगी। करने के लिए "को हटाना रद्द करें"
संभव डुप्लिकेट http://stackoverflow.com/questions/:
इस तरह एक संवाद कुछ शो 4475602/WP7-सूचना-संवाद) –