This is currently being written and debugged using Windows 7 Professional, SP1.
The application is located at the top of the desktop, and the working area is appropriately resized via a hook into the SystemParametersInfo function. The MenuStrip appears as it should, with the exception that any dropdown from the MenuStrip shows as detached from the MenuStrip itself (as if it is being drawn on the new working area, as opposed to the form containing the MenuStrip). For example:
- Application TopLevel: true
- Application Height: 150
- Application Location: 0,0 on Desktop (prior to working area's resize)
- MenuStrip Height: 25
- MenuStrip Location: 0,0 inside Parent Form
- MenuStrip DropDown Location: x,2 (where x is a valid and acceptable value) **this is being drawn on the resized working area (i.e. beneath the form)**
I have attempted correcting this with a custom Renderer to no present avail. I tried to override WndProc (as follows) so as to see what exactly was occurring, but that resulted in a stackoverflow halfway through drawing the application.
protected override void WndProc(ref Message m) {
if (mainForm.Visible) { MessageBox.Show("ID: " + m.Msg.ToString() + "\n" + m.ToString()); } base.WndProc(ref m); }
I suspect I've run this into the ground by now, but if you require any further explanation, just let me know. Just hoping someone can point me in the appropriate direction as to where I should look. Thanks.