bro... i feel your pain.
i have encountered tons of similarly flaky inadequacies during the
development of my first .Net project, and i'm here to testify: it _IS_ just
one thing after another! it's a real slap in the face to me (and YOU!) that
most of the .Net WinForms controls leave out COMMON, DESIRED behaviour of
their counterparts commonly used in Windows itself...
three retarded examples:
#1 - right-align text in labels works improperly. maybe some M$ fanboy code
guru can plz explain it to me (or try to excuse it away):
a) "it was too time consuming so we ignored it in order to better
concentrate on other things... like making sure ADO.Net is bug free"
(*BZZZT* WRONG!)
b) "not all developers like their 'right align' to truly 'right align' so
we left it open to interpretation. you can use 'owner draw' to customize
the control to fit your needs." (HAHAHAH!)
#2 - win forms combo box doesn't autocomplete... is this such a far-out,
*fancy* feature to expect? seriouly, folks - over the span of my
development career, the single most-requested feature by
computer-illiterate, -semi-literate, and -literate users has been: "Can we
make it a drop down list that automatically jumps to what you type, like M$
Excel?" it's just mind boggling that they would omit this... did i wake up
in the Land of Oz or something...?
IT CLEARLY EVIDENCES THE FACT THAT THE VS.NET DEV TEAM IS OUT-OF-TOUCH WITH
THE DESKTOP!
#3 - checkbox column in a datagrid allows you to specify 'value when null' -
win forms checkbox doesn't. also, the win forms checkbox itself doesn't get
the dotted line for the focus, its label text does. which means you have to
use the checkbox's stupid improperly-aligning built-in label (instead of a
separate improperly-aligning winforms label
) if you want the user to be
able to see which control actually has the focus. (yeah, i know - that's
another rarely-requested feature, isn't it?
)
....i'm not going to digress into all the other areas of desktop RAD where
VS.Net falls flat on its face (visual inheritance, data access/binding,
etc...) not that i don't want to, but i don't have the time - you see, i
need to spend all day adding a bunch of hack workarounds to my
straightforward, seemingly-correct data-access code, in order to get it to
behave 'as advertised'...