[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