Guide.BeginShowMessageBox wrapper
Posted
by Daniel Moth
on Daniel Moth
See other posts from Daniel Moth
or by Daniel Moth
Published on Thu, 30 Dec 2010 08:38:17 GMT
Indexed on
2010/12/30
9:01 UTC
Read the original article
Hit count: 381
MobileAndEmbedded
While coding for Windows Phone 7 using Silverlight, I was really disappointed with the built-in MessageBox class, so I found an alternative. My disappointment was the fact that:
- Display of the messagebox causes the phone to vibrate (!)
- Display of the messagebox causes the phone to make an annoying sound.
- You can only have "ok" and "cancel" buttons (no other button captions).
I was using the messagebox something like this:
// Produces unwanted sound and vibration. // ...plus no customization of button captions. if (MessageBox.Show("my message", "my caption", MessageBoxButton.OKCancel) == MessageBoxResult.OK) { // Do something Debug.WriteLine("OK"); }
…and wanted to make minimal changes throughout my code to change it to this:
// no sound or vibration // ...plus bonus of customizing button captions if (MyMessageBox.Show("my message", "my caption", "ok, got it", "that sucks") == MyMessageBoxResult.Button1) { // Do something Debug.WriteLine("OK"); }
It turns out there is a much more powerful class in the XNA framework that delivered on my requirements (and offers even more features that I didn't need like choice of sounds and not blocking the caller): Guide.BeginShowMessageBox. You can use it simply by adding an assembly reference to Microsoft.Xna.Framework.GamerServices
.
I wrote a little wrapper for my needs and you can find it here (ready to enhance with your needs): MyMessageBox.cs.txt.
Comments about this post welcome at the original blog.
© Daniel Moth or respective owner