I took a look at the new code you put out there and it works. However, in my case I can't use it because of the checkbox that shows up when it is null. My team has told me that I have to find another way because they don't like the look/feel of it.
So, I have played around with creating a control that consists of a masked textbox and a monthpicker (each inside a seperate panel). The panels are docked=top. There is also a picturebox with a dropdown image. When the user clicks on the image, the usercontrol does a me.height = 152 and makes the panel with the monthpicker visible. When the user selects a date, the panel is marked as visible = false and the me.height = 22 (the date is put into the masked textbox also).
This allows pretty close functionality to the nullable datetime picker but doesn't have the checkbox show when it is null. It also allows for the user to wipe the textbox with the delete key and see "no date" as "empty", which is what our users are used to seeing.
This works except in the following case:
The usercontrol is in a panel that is say 30px in height and there is another panel below this. When the picturebox dropdown is pressed, the usercontrol "grows" but can't be seen completely because the parent panel of the usercontrol isn't big enough to show the whole thing.
Is there a way to make the usercontrol "grow" outside its parent panel?
You can see it here: http://screencast.com/t/ZTsVIN1Yd8H
I didn't try inheriting from the combobox because my understanding was that I couldn't change way the "textbox" of the combobox acts.
Thanks for any help you can give me.