[Mono-winforms-list] Handle being created when I don't expect
Maser, Dan
Dan.Maser at inin.com
Thu Aug 9 09:32:59 EDT 2007
Also, if it helps I hacked my code to not crash when the HandleCreated is called early and I notice the these additional problems right away:
* When opening the first MDI child, that window does not get an Activated event like it used to. If I open a second MDI child and toggle between them then the Activate gets called, but with one MDI child the Actived event is skipped.
* There seems to be a focus/current problem because if I have MDI Child #1 active I can click around in it and see the mouse clicks have the normal effect but when I press Ctrl+F2 that keystroke appears to get sent to MDI Child #2 instead.
I update my mono installation from SVN source every couple of days and all of these items were working as of a few weeks ago.
-----Original Message-----
From: Rolf Bjarne Kvinge [mailto:rolflists at ya.com]
Sent: Thursday, August 09, 2007 2:15 AM
To: Maser, Dan; mono-winforms-list at lists.ximian.com
Subject: RE: [Mono-winforms-list] Handle being created when I don't expect
>From: mono-winforms-list-bounces at lists.ximian.com
[mailto:mono-winforms-list-bounces at lists.ximian.com] On Behalf Of Maser, Dan
>Sent: miércoles, 08 de agosto de 2007 23:49
>To: Maser, Dan; mono-winforms-list at lists.ximian.com
>Subject: Re: [Mono-winforms-list] Handle being created when I don't
>expect
>
> Sorry, that got sent too early. Here's more of the call stack this time.
Could you execute with "mono --debug app.exe" so that you get line numbers as well? And knowing which version of Winforms you're using would also help
:)
Rolf
>_____________________________________________
>From: Maser, Dan
>Sent: Wednesday, August 08, 2007 4:39 PM
>To: 'mono-winforms-list at lists.ximian.com'
>Subject: Handle being created when I don't expect
> I've got a situation with MDI forms where the behavior is different
>on MS
vs mono, but it's proving difficult to get a simple test project that
>reproduces it. The problem is that in my app setting the
>Form.MdiParent is
causing that Form's handle to be created in mono when it doesn't on
>MS.NET. And it doesn't happen for simple test programs on mono
>either;
with simple test programs setting the MdiParent property doesn't cause the
>handle to be created. I think it must be something about my real
>project
that causes this, but the program is so large it's difficult to tell what that >might be. Here's a partial call stack from the Form.HandleCreated event. Does this info give enough info to someone to make some guesses about what >could cause the MdiParent property to trigger the HandleCreated in some projects but not in others?
> Thanks in advance for any ideas!
> Partial call stack:
>at MyChildForm.on_HandleCreated(System.Object sender, System.EventArgs
>e) at System.Windows.Forms.Control.OnHandleCreated(System.EventArgs e)
>at System.Windows.Forms.Form.OnHandleCreated(System.EventArgs e) at
>System.Windows.Forms.Control.WmCreate(Message ByRef m) at
>System.Windows.Forms.Control.WndProc(Message ByRef m) at
>System.Windows.Forms.ScrollableControl.WndProc(Message ByRef m) at
>System.Windows.Forms.ContainerControl.WndProc(Message ByRef m) at
>System.Windows.Forms.Form.WndProc(Message ByRef m) at
>System.Windows.Forms.Control+ControlWindowTarget.OnMessage(Message
>ByRef
m)
>at System.Windows.Forms.Control+ControlNativeWindow.WndProc(Message
>ByRef
m)
>at System.Windows.Forms.NativeWindow.WndProc(IntPtr hWnd, Msg msg,
>IntPtr
wParam, IntPtr lParam)
>at System.Windows.Forms.XplatUIX11.SendMessage(IntPtr hWnd, Msg msg,
>IntPtr
wParam, IntPtr lParam)
>at
System.Windows.Forms.XplatUIX11.CreateWindow(System.Windows.Forms.CreatePara
ms cp)
>at
System.Windows.Forms.XplatUI.CreateWindow(System.Windows.Forms.CreateParams
cp)
>at
System.Windows.Forms.NativeWindow.CreateHandle(System.Windows.Forms.CreatePa
rams create_params)
>at System.Windows.Forms.Control.CreateHandle()
>at System.Windows.Forms.Form.CreateHandle()
>at System.Windows.Forms.Control.WmDestroy(Message ByRef m) at
>System.Windows.Forms.Control.WndProc(Message ByRef m) at
>System.Windows.Forms.ScrollableControl.WndProc(Message ByRef m) at
>System.Windows.Forms.ContainerControl.WndProc(Message ByRef m) at
>System.Windows.Forms.Form.WmDestroy(Message ByRef m) at
>System.Windows.Forms.Form.WndProc(Message ByRef m) at
>System.Windows.Forms.Control+ControlWindowTarget.OnMessage(Message
>ByRef
m)
>at System.Windows.Forms.Control+ControlNativeWindow.WndProc(Message
>ByRef
m)
>at System.Windows.Forms.NativeWindow.WndProc(IntPtr hWnd, Msg msg,
>IntPtr
wParam, IntPtr lParam)
>at System.Windows.Forms.XplatUIX11.SendMessage(IntPtr hWnd, Msg msg,
>IntPtr
wParam, IntPtr lParam)
>at System.Windows.Forms.XplatUIX11.DestroyWindow(IntPtr handle) at
>System.Windows.Forms.XplatUI.DestroyWindow(IntPtr handle) at
>System.Windows.Forms.NativeWindow.DestroyWindow()
>at System.Windows.Forms.Control.DestroyHandle()
>at System.Windows.Forms.Control.RecreateHandle()
>at System.Windows.Forms.Form.set_MdiParent(System.Windows.Forms.Form
>value)
>....
>There's more, but this seems like the relevant part.
>
>
More information about the Mono-winforms-list
mailing list