[Mono-winforms-list] SWF patch ( MDI interface )

Alexandre Pigolkine pigolkine@gmx.de
Fri, 4 Apr 2003 12:54:13 +0200


This really fixes the problem.

I wanted to discuss few things in connection to the patch:

I guess that MS SWF creates child controls somethere in between the 
OnHandleCreated and OnCreateControl, i.e. child controls report
on entry to the overloaded OnCreateControl in Frame-derived class. May
this is not so critical now, but IMO we should try to follow existing

The change to Handle property requires us to have some "hidden" window 
to hold controls intended to be child windows until they get added to
real parent. Currently, Control's Window cannot be created if Parent
is not assigned by user application. I think we can have the "hidden" 
Window as a static member of Control class and use it if Parent property

of Control object is null. 


> -----Original Message-----
> From: mono-winforms-list-admin@lists.ximian.com
> [mailto:mono-winforms-list-admin@lists.ximian.com] On Behalf Of 
> Aleksey Ryabchuk
> Sent: Donnerstag, 3. April 2003 12:41
> To: mono-winforms-list@lists.ximian.com
> Subject: Re: [Mono-winforms-list] SWF patch ( MDI interface )
> Hi,
> Yes, it happens because of my changes to
> implementation of Control.Handle property. I think
> that the best way to fix this is to move these lines:
> // create all child windows
> IEnumerator cw = childControls.GetEnumerator();
> while (cw.MoveNext()) {
> Console.WriteLine ("Adding Control");
> Control control = (Control) cw.Current;
> control.CreateControl ();
> control.Show ();
> }
> from Control.OnHandleCreated to
> Control.OnCreateControl. It looks like it fixes the
> problem. And I also belive it is more logical place
> for creating of child controls.
> Regards
> Aleksey