About... The About Box
You'd think someone would have written a decent, generic .NET About Box by now. Well, if it's out there, I couldn't find it! The About Box isn't an essential part of any application, but my research (and practical experience) indicates it has two key uses:
- For users: so they can identify the application, who made it, and what version they're dealing with. Real basic stuff. Dogtags for your application, if you will.
- For developers: to provide detailed build, version, and file information. Typically used when troubleshooting problems with compiled, deployed code. Medic!
It's convenient to have an About Box-- but to continue with the dogtag analaogy, if you're whipping out dogtags on a regular basis, that's symptomatic of a deeper problem. The About Box is not meant to be used every day, but when you need it, it can be a lifesaver. It's OK to be used infrequently, but it also needs to provide decent diagnostic info. Decorative About Boxes are not helpful.
In order to meet both user and developer needs, I put together a tiered dialog, with simple mode, for users:
and complex mode, for developers:
Most of the identity of your application can be derived from those tricky little AssemblyInfo files:
<Assembly: AssemblyTitle("About Box Demo")> <Assembly: AssemblyDescription("Demonstration of AboutBox.vb code")> <Assembly: AssemblyCompany("Atwood Heavy Industries")> <Assembly: AssemblyProduct("Demo code")> <Assembly: AssemblyCopyright(" 2004, Atwood Heavy Industries")> <Assembly: AssemblyTrademark("All Rights Reserved")>
That's the same information you'd expect to see when right clicking your .EXE file, then selecting properties. And it is!
I tried to include all the Application and Assembly level diagnostic info that I've found useful. I'm sure I left something out, but I'm pretty sure I covered all the standard stuff, too. Try it out and let me know what you think.
Download the Visual Studio .NET 2003 project from CodeProject