Does anybody know to whom I can send this letter so that it hits home before
Visual Studio 2005 goes production?
Dear Microsoft Visual Studio 2005 developers,
This is a request for you to change four of the most basic controls to
improve them and make them more consistent amongst themselves.
I am speaking of the four controls into which text is entered:
a. Textbox
b. Masked Edit
c. Combo Box
d. Date Time Picker
e. Check boxes (ok, so it's really five controls)
Let's start with something I call an improvement: Let's stop wasting 4
pixels of valuable form real estate on each and every control listed above.
Here is the waste: it takes 3 pixels to draw a 3D border around each of
these controls (I guess that's where the "3" in 3D came from, huh?). But
seriously, if the border were drawn as a single pixel then it would take
only 2 pixels of form real estate to draw each control, not 6 pixels. Now,
when you multiply the number of controls on a form times 4 wasted pixels,
that equals a lot of wasted real estate on every form.
A 3D control border buys you nothing. Besides, the above five controls' 3D
appearance is inconsistent with that of tabpages, menu items, listviews,
toolbars, etc, etc. I think it's time we all abandon the archaic 3D look
and become good citizens of flatland. One exception is in order: allow both
flat and 3D buttons. Since a button's analogue in the real world is truly
3D, therefore, it should look like it needs to be pushed.
Now that we know how to reclaim four pixels per control, let's not stop
there. Why do text boxes have to be 20 pixels in height? There must be at
least 3 to 4 pixels of white space between the border and the text itself.
Let's standardize on an 18 pixel height for all of the four text controls.
There, we've saved another 2 pixels of real estate for every one of those
controls on every form. That leaves the 16x16 dropdown arrow icon as is, no
changes needed.
Now lets move on to the problem of consistency. Inconsistency in the
properties for these five (four) text controls is really a problem in Visual
Studio. Each of these controls should have the following properties:
a. FlatStyle (not for DatePicker)
b. BorderStyle = FixedSingle (not for DatePicker)
c. MaximumSize (overridden in ComboBox)
d. TextAlign (like label) text rides at bottom in DatePicker at 18
pixels height.
Since all of these text controls can and often do appear together on a
single form, all of them should be height-alignable and text-alignable to
make the best presentation. It is ridiculous to have to make them all 21
pixels in height just to match the combobox height.
Finally, if you would like to see how all of these controls should look
right now, before doing any control redesign or coding, may I refer you to
this web site: http://www.lumisoft.ee/lsWWW/ENG/ind...?type=products
There you will find a textbox, datepicker, combobox, masked edit box, and a
check box as described above. And, please, please, please check out the
..FlashControl property built into each of these controls. It makes your
ErrorProvider control unnecessary and possibley obsolete. (It also wastes
more form real estate).
So why I am telling you all this? Yes, I am using these controls, not
yours. Problem is, they are not quite industrial-strength enough to use in
enterprise applications. If you could only redesign your controls so that
they could look like these controls, and back them up with your
industrial-strength properties and methods, the world of application design
would be a much better looking, more real estate efficient, and a more
consistent place to develop in.
I will get off my soapbox now and await your reply.
Thank you for listening.
Dean Slindee