468,268 Members | 1,536 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,268 developers. It's quick & easy.

Problem with hosting forms within forms

I have the following situation:

Need a user resizable user control. After much trying with user control I
came across the idea of hosting the controls in a form marked as not
TopLevel = false. This work fine for most cases, allowing the user to
resize the form (and controls within the form.

The forms them selves are create dynamically when the user drags a node from
a listview to a panel (contained in a Usercontrol which is hosted by the
main form. The location of the from once dropped is at the point where the
mouse was when the control was dropped.

The form itsself hosts a top panel with a label and text box (docked top),
and a CheckListBox docked Fill. Now all the above works fine. The Panel
upon which the controls are dropped is marked as AutoScroll true. Dropping
the "Forms" on the control seems to set the AutoScollMinSize correctly. I
can move the "Forms" around on the Panel and the scrollbars respond to that
movement.

Now the problem:
If I drop the form such that the entire CheckListBox does not show, and then
attempt to click one of the list items (CheckListBox is CheckOnClick = True)
the form will jump on the panel to attempt to show the entire CheckListBox,
the item checked will be incorrect.

If I move the dropped form with the mouse horizontal (CheckListBox is still
not entirely visible) this will sometimes stop the auto move (not from my
code) but not always. If I enter text into the TextBox there is no weird
movement.

I will put the call stacks in a response to this message so that only people
who are interested will have to download them.

Lloyd Sheen


Nov 20 '05 #1
3 1418
Note that first call stack is for form which does not have CheckListBox
showing entirely. The first event caught is the "phantom" move attempting
to click a CheckListBox item. Note the second line of the call stack which
is a OnMove ? Much further down is the WmMouseDown message. The call stack
for the same situation with a CheckListBox showing entirely after the drag
drop is shown at the end of this message.
sqlserver.dll!QueryBuilder.QBFormChangeLocation(Ob ject sender = {QueryTableView}, System.EventArgs e = {System.EventArgs}) Line 262 Basic

system.windows.forms.dll!System.Windows.Forms.Cont rol.OnMove(System.EventArg
s e = {System.EventArgs}) + 0x5e bytes

system.windows.forms.dll!System.Windows.Forms.Cont rol.OnLocationChanged(Syst
em.EventArgs e = {System.EventArgs}) + 0x1c bytes
system.windows.forms.dll!System.Windows.Forms.Cont rol.UpdateBounds(int x =
352, int y = -13, int width = 216, int height = 288, int clientWidth = 208,
int clientHeight = 261) + 0xb3 bytes
system.windows.forms.dll!System.Windows.Forms.Cont rol.UpdateBounds() +
0x150 bytes

system.windows.forms.dll!System.Windows.Forms.Cont rol.WmMove(System.Windows.
Forms.Message m = {System.Windows.Forms.Message}) + 0x1a bytes

system.windows.forms.dll!System.Windows.Forms.Cont rol.WndProc(System.Windows
..Forms.Message m = {System.Windows.Forms.Message}) + 0x654 bytes

system.windows.forms.dll!System.Windows.Forms.Scro llableControl.WndProc(Syst
em.Windows.Forms.Message m = {System.Windows.Forms.Message}) + 0x6c bytes

system.windows.forms.dll!System.Windows.Forms.Cont ainerControl.WndProc(Syste
m.Windows.Forms.Message m = {System.Windows.Forms.Message}) + 0x37 bytes

system.windows.forms.dll!System.Windows.Forms.Form .WndProc(System.Windows.Fo
rms.Message m = {System.Windows.Forms.Message}) + 0x2ab bytes

system.windows.forms.dll!ControlNativeWindow.OnMes sage(System.Windows.Forms.
Message m = {System.Windows.Forms.Message}) + 0x13 bytes

system.windows.forms.dll!ControlNativeWindow.WndPr oc(System.Windows.Forms.Me
ssage m = {System.Windows.Forms.Message}) + 0xda bytes

system.windows.forms.dll!System.Windows.Forms.Nati veWindow.DebuggableCallbac
k(int hWnd = 459898, int msg = 3, int wparam = 0, int lparam = 655716) +
0x3d bytes

system.windows.forms.dll!System.Windows.Forms.Scro llableControl.SetDisplayRe
ctLocation(int x = 0, int y = -171) + 0x2c4 bytes

system.windows.forms.dll!System.Windows.Forms.Scro llableControl.ScrollContro
lIntoView(System.Windows.Forms.Control activeControl = {SelectedItem=""}) +
0x3de bytes

system.windows.forms.dll!System.Windows.Forms.Cont ainerControl.ScrollActiveC
ontrolIntoView() + 0x37 bytes

system.windows.forms.dll!System.Windows.Forms.Cont ainerControl.ActivateContr
olInternal(System.Windows.Forms.Control control = {SelectedItem=""}, bool
originator = true) + 0x10f bytes

system.windows.forms.dll!System.Windows.Forms.Cont ainerControl.ActivateContr
olInternal(System.Windows.Forms.Control control = {SelectedItem=""}) + 0x13
bytes

system.windows.forms.dll!System.Windows.Forms.Cont rol.WmSetFocus(System.Wind
ows.Forms.Message m = {System.Windows.Forms.Message}) + 0x94 bytes

system.windows.forms.dll!System.Windows.Forms.Cont rol.WndProc(System.Windows
..Forms.Message m = {System.Windows.Forms.Message}) + 0x747 bytes

system.windows.forms.dll!System.Windows.Forms.List Box.WndProc(System.Windows
..Forms.Message m = {System.Windows.Forms.Message}) + 0x2a2 bytes

system.windows.forms.dll!System.Windows.Forms.Chec kedListBox.WndProc(System.
Windows.Forms.Message m = {System.Windows.Forms.Message}) + 0x66 bytes

system.windows.forms.dll!ControlNativeWindow.OnMes sage(System.Windows.Forms.
Message m = {System.Windows.Forms.Message}) + 0x13 bytes

system.windows.forms.dll!ControlNativeWindow.WndPr oc(System.Windows.Forms.Me
ssage m = {System.Windows.Forms.Message}) + 0xda bytes

system.windows.forms.dll!System.Windows.Forms.Nati veWindow.DebuggableCallbac
k(int hWnd = 656482, int msg = 7, int wparam = 394312, int lparam = 0) +
0x3d bytes

system.windows.forms.dll!System.Windows.Forms.Nati veWindow.DefWndProc(System
..Windows.Forms.Message m = {System.Windows.Forms.Message}) + 0xd4 bytes

system.windows.forms.dll!System.Windows.Forms.Cont rol.DefWndProc(System.Wind
ows.Forms.Message m = {System.Windows.Forms.Message}) + 0x13 bytes

system.windows.forms.dll!System.Windows.Forms.Cont rol.WmMouseDown(System.Win
dows.Forms.Message m = {System.Windows.Forms.Message},
System.Windows.Forms.MouseButtons button = Left, int clicks = 1) + 0x4e
bytes

system.windows.forms.dll!System.Windows.Forms.Cont rol.WndProc(System.Windows
..Forms.Message m = {System.Windows.Forms.Message}) + 0x484 bytes

system.windows.forms.dll!System.Windows.Forms.List Box.WndProc(System.Windows
..Forms.Message m = {System.Windows.Forms.Message}) + 0xca bytes

system.windows.forms.dll!System.Windows.Forms.Chec kedListBox.WndProc(System.
Windows.Forms.Message m = {System.Windows.Forms.Message}) + 0x66 bytes

system.windows.forms.dll!ControlNativeWindow.OnMes sage(System.Windows.Forms.
Message m = {System.Windows.Forms.Message}) + 0x13 bytes

system.windows.forms.dll!ControlNativeWindow.WndPr oc(System.Windows.Forms.Me
ssage m = {System.Windows.Forms.Message}) + 0xda bytes

system.windows.forms.dll!System.Windows.Forms.Nati veWindow.DebuggableCallbac
k(int hWnd = 656482, int msg = 513, int wparam = 1, int lparam = 1638438) +
0x3d bytes

system.windows.forms.dll!System.Windows.Forms.Appl ication.ComponentManager.S
ystem.Windows.Forms.UnsafeNativeMethods+IMsoCompon entManager.FPushMessageLoo
p(int dwComponentID = 1, int reason = -1, int pvLoopData = 0) + 0x349 bytes
system.windows.forms.dll!ThreadContext.RunMessageL oopInner(int reason
= -1, System.Windows.Forms.ApplicationContext context =
{System.Windows.Forms.ApplicationContext}) + 0x1f3 bytes
system.windows.forms.dll!ThreadContext.RunMessageL oop(int reason = -1,
System.Windows.Forms.ApplicationContext context =
{System.Windows.Forms.ApplicationContext}) + 0x50 bytes

system.windows.forms.dll!System.Windows.Forms.Appl ication.Run(System.Windows
..Forms.Form mainForm = {ToadUI.Form1}) + 0x34 bytes
ToadUI.exe!ToadUI.Form1.Main() Line 11 + 0x1d bytes Basic

Call stack showing the the ItemCheck is called in the case where the
CheckBoxList shows entirely after the drag/drop.
sqlserver.dll!QueryBuilder.ItemCheck(Object sender =

{System.Windows.Forms.CheckedListBox},
System.Windows.Forms.ItemCheckEventArgs e =
{System.Windows.Forms.ItemCheckEventArgs}) Line 244 Basic

system.windows.forms.dll!System.Windows.Forms.Chec kedListBox.OnItemCheck(Sys
tem.Windows.Forms.ItemCheckEventArgs ice = {Index=2 NewValue=Checked
CurrentValue=Unchecked}) + 0x23 bytes

system.windows.forms.dll!System.Windows.Forms.Chec kedListBox.LbnSelChange()
+ 0xfa bytes

system.windows.forms.dll!System.Windows.Forms.Chec kedListBox.WmReflectComman
d(System.Windows.Forms.Message m = {System.Windows.Forms.Message}) + 0x3f
bytes

system.windows.forms.dll!System.Windows.Forms.List Box.WndProc(System.Windows
..Forms.Message m = {System.Windows.Forms.Message}) + 0x98 bytes

system.windows.forms.dll!System.Windows.Forms.Chec kedListBox.WndProc(System.
Windows.Forms.Message m = {System.Windows.Forms.Message}) + 0x66 bytes

system.windows.forms.dll!ControlNativeWindow.OnMes sage(System.Windows.Forms.
Message m = {System.Windows.Forms.Message}) + 0x13 bytes

system.windows.forms.dll!ControlNativeWindow.WndPr oc(System.Windows.Forms.Me
ssage m = {System.Windows.Forms.Message}) + 0xda bytes

system.windows.forms.dll!System.Windows.Forms.Nati veWindow.DebuggableCallbac
k(int hWnd = 656388, int msg = 8465, int wparam = 66564, int lparam =
656388) + 0x3d bytes
system.windows.forms.dll!System.Windows.Forms.Cont rol.SendMessage(int msg
= 8465, int wparam = 66564, int lparam = 656388) + 0x48 bytes

system.windows.forms.dll!System.Windows.Forms.Cont rol.ReflectMessageInternal
(int hWnd = 656388, System.Windows.Forms.Message m =
{System.Windows.Forms.Message}) + 0x7f bytes

system.windows.forms.dll!System.Windows.Forms.Cont rol.WmCommand(System.Windo
ws.Forms.Message m = {System.Windows.Forms.Message}) + 0x72 bytes

system.windows.forms.dll!System.Windows.Forms.Cont rol.WndProc(System.Windows
..Forms.Message m = {System.Windows.Forms.Message}) + 0x252 bytes

system.windows.forms.dll!System.Windows.Forms.Scro llableControl.WndProc(Syst
em.Windows.Forms.Message m = {System.Windows.Forms.Message}) + 0x6c bytes

system.windows.forms.dll!System.Windows.Forms.Cont ainerControl.WndProc(Syste
m.Windows.Forms.Message m = {System.Windows.Forms.Message}) + 0x37 bytes

system.windows.forms.dll!System.Windows.Forms.Appl ication.ParkingWindow.WndP
roc(System.Windows.Forms.Message m = {System.Windows.Forms.Message}) + 0x22
bytes

system.windows.forms.dll!ControlNativeWindow.OnMes sage(System.Windows.Forms.
Message m = {System.Windows.Forms.Message}) + 0x13 bytes

system.windows.forms.dll!ControlNativeWindow.WndPr oc(System.Windows.Forms.Me
ssage m = {System.Windows.Forms.Message}) + 0xda bytes

system.windows.forms.dll!System.Windows.Forms.Nati veWindow.DebuggableCallbac
k(int hWnd = 656306, int msg = 273, int wparam = 66564, int lparam = 656388)
+ 0x3d bytes

system.windows.forms.dll!System.Windows.Forms.Nati veWindow.DefWndProc(System
..Windows.Forms.Message m = {System.Windows.Forms.Message}) + 0xd4 bytes

system.windows.forms.dll!System.Windows.Forms.Cont rol.DefWndProc(System.Wind
ows.Forms.Message m = {System.Windows.Forms.Message}) + 0x13 bytes

system.windows.forms.dll!System.Windows.Forms.Cont rol.WmMouseUp(System.Windo
ws.Forms.Message m = {System.Windows.Forms.Message},
System.Windows.Forms.MouseButtons button = Left, int clicks = 1) + 0xb5
bytes

system.windows.forms.dll!System.Windows.Forms.Cont rol.WndProc(System.Windows
..Forms.Message m = {System.Windows.Forms.Message}) + 0x49b bytes

system.windows.forms.dll!System.Windows.Forms.List Box.WndProc(System.Windows
..Forms.Message m = {System.Windows.Forms.Message}) + 0x217 bytes

system.windows.forms.dll!System.Windows.Forms.Chec kedListBox.WndProc(System.
Windows.Forms.Message m = {System.Windows.Forms.Message}) + 0x66 bytes

system.windows.forms.dll!ControlNativeWindow.OnMes sage(System.Windows.Forms.
Message m = {System.Windows.Forms.Message}) + 0x13 bytes

system.windows.forms.dll!ControlNativeWindow.WndPr oc(System.Windows.Forms.Me
ssage m = {System.Windows.Forms.Message}) + 0xda bytes

system.windows.forms.dll!System.Windows.Forms.Nati veWindow.DebuggableCallbac
k(int hWnd = 656388, int msg = 514, int wparam = 0, int lparam = 2818106) +
0x3d bytes

system.windows.forms.dll!System.Windows.Forms.Appl ication.ComponentManager.S
ystem.Windows.Forms.UnsafeNativeMethods+IMsoCompon entManager.FPushMessageLoo
p(int dwComponentID = 1, int reason = -1, int pvLoopData = 0) + 0x349 bytes
system.windows.forms.dll!ThreadContext.RunMessageL oopInner(int reason
= -1, System.Windows.Forms.ApplicationContext context =
{System.Windows.Forms.ApplicationContext}) + 0x1f3 bytes
system.windows.forms.dll!ThreadContext.RunMessageL oop(int reason = -1,
System.Windows.Forms.ApplicationContext context =
{System.Windows.Forms.ApplicationContext}) + 0x50 bytes

system.windows.forms.dll!System.Windows.Forms.Appl ication.Run(System.Windows
..Forms.Form mainForm = {ToadUI.Form1}) + 0x34 bytes
ToadUI.exe!ToadUI.Form1.Main() Line 11 + 0x1d bytes Basic


Nov 20 '05 #2
"Lloyd Sheen" <sq*******************@tostopspamhotmail.com> schrieb
I have the following situation:

[...]


Haven't you posted the question already?
--
Armin

How to quote and why:
http://www.plig.net/nnq/nquote.html
http://www.netmeister.org/news/learn2quote.html

Nov 20 '05 #3
I thought so, had a problem with my provider and the newsgroup. So did it
again. Sorry if this is a problem. Does anyone have any ideas what might
be happening?

Lloyd Sheen
"Armin Zingler" <az*******@freenet.de> wrote in message
news:40*********************@news.freenet.de...
"Lloyd Sheen" <sq*******************@tostopspamhotmail.com> schrieb
I have the following situation:

[...]


Haven't you posted the question already?
--
Armin

How to quote and why:
http://www.plig.net/nnq/nquote.html
http://www.netmeister.org/news/learn2quote.html

Nov 20 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

10 posts views Thread by amit.purohit | last post: by
1 post views Thread by MB | last post: by
1 post views Thread by Lloyd Sheen | last post: by
1 post views Thread by explode | last post: by
5 posts views Thread by explode | last post: by
reply views Thread by =?Utf-8?B?RGF2ZQ==?= | last post: by
5 posts views Thread by Martinez | last post: by
reply views Thread by NPC403 | last post: by
reply views Thread by kermitthefrogpy | last post: by
reply views Thread by zattat | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.