I just realized It’s been a while since my last technical post, so I thought I’d share my latest frustration. (Don’t you just love those?)
Today’s frustration comes from the behavior of ToolTips in windows. By default, if a control has it’s enabled property set to false (that’s disabled for you boolean challenged out there) then it will not receive the required mouse events for tool tips to function properly.
So for my “Save” button on a form, if it’s disabled, I’d sure like to tell the user WHY it’s disabled. To me this seems like one of the more common uses of the tooltip.
An image will definitely help:

To accomplish this I had to put something invisible behind the button, but it still didn’t work properly, so you can see I shrunk the button just to get it to work.
I could display a status bar or something along those lines, but I don’t want to complain to the user until they actually try to click “Save Changes.”
I read in MFC you can use PreTranslateMessage to allow WM_MOUSEMOVE to be passed to a disabled button, but I don’t really have the time or the energy to do this in .NET. (unless someone else wants to give me some pointers…)
Sadly, a google search led me to only 1 possible quick-fix (putting a label or something behind the button and set the tooltip to that) …. but it didn’t work. 