9 Options, 4 Icons, 1 MessageBox
You know there are things in life that you never notice or worry about. This is one of them.
The MessageBox API in Windows Forms allows you to specify message box icons to display along side your all-important message you're communicating to the user (System Error, Hard Drive Full, Your Cat is Pregnant, that sort of thing). Icons can help add a little punch to an otherwise drab afternoon staring at rows and rows of spreadsheets and overdue time cards.
The 9 options you can select from to kick your otherwise drab battleship gray business application up are: Asterix, Error, Exclamation, Hand, Information, Question, Stop, Warning, and None. None of course presents no icon. The others provide you with an icon that matches the description. Or does it?
Here's the Asterix option:
And here's the Information option:
Hmmm... something isn't right here. Am I seeing double? No, both options use the same icon.
Onto the Exclamation icon:
And the Warning one:
Hey! You're copying and pasting the same image!
No friends, I really did write a program to do all this (contact me for licensing and source code rights) and they really are different.
Finally here's the Error, Hand, and Stop icons (all conveniently wrapped up in one picture):
Yup. All three use the red 'X' icon. You would think, oh I don't know, the Hand would display a Hand icon and Stop might, oh what the heck I'll take a stab at this, display a Stop sign. Now I'm all for saving on resources. After all, icons cost money to make; take up valuable bytes in the CLR; and lord knows how many hours of debate over the right shade of yellow for the Warning icon was spent. However if you're going to provide a programmer 9 different options (which all seem reasonable and unique) then why would you only provide 4 icons (I neglected to show the Question icon which is indeed a question mark). Did the MessageBox team have their budget cut or something?
In any case, this seemingly random blog entry has been brought to you by the letters M, M, and M and the number M.