MDIWorkspace using Shell Layout

Topics: CAB & Smart Client Software Factory
Mar 26, 2007 at 12:46 PM
Hi,

I would like to create an MDIWorksapce. I am using the latest Smart Client Applicaiton template from the Guidance Package. By default it creates a layout, left, right and modal workspace.

I have seen previous discussions on this topic but none advise how to add an MDIWorkspace to the applicaiton generated by the template.

Can anyone help?

Thanks
Mar 26, 2007 at 1:42 PM
Forgot to mention I am using the Infrastructure.Layout, ShellLayoutView.
Developer
Mar 26, 2007 at 4:50 PM
Edited Mar 26, 2007 at 5:57 PM
Hi David,

If you want to use MDIWorkspace, you should consider not using a separate module to define the layout.

Please, take a look at the following thread: http://www.codeplex.com/smartclient/Thread/View.aspx?ThreadId=5821 where Mariano Szklanny explains how to add an MDI Workspace to an application generated with the Smart Client Application template.

Let me know if this helps,
Ezequiel Jadib
http://staff.southworks.net/blogs/ejadib

Mar 27, 2007 at 12:46 AM

DavidOBrien wrote:
Hi,

I would like to create an MDIWorksapce. I am using the latest Smart Client Applicaiton template from the Guidance Package. By default it creates a layout, left, right and modal workspace.

I have seen previous discussions on this topic but none advise how to add an MDIWorkspace to the applicaiton generated by the template.

Can anyone help?

Thanks


It seems the approach that ejadib suggested is a variation of the method I ended up using in referenced message
http://www.codeplex.com/smartclient/Thread/View.aspx?ThreadId=6131 (I got your email - I'll respond here :). What makes Infastructure.Layout usage problematic is that the MdiWorkspace constructor requires a parentForm parameter.

You would have to create a MDI Form in Infastructure.Layout which (in my limited experience with the SCSF) would probably violate best practices and patterns.

The "Shell" (ShellForm.cs) is the logical MDI Form as it serves as host to all of the usercontrols. I found it rather convenient that mainWorkspace.Show(myView), where myView is a usercontrol, showed up as a form.







Mar 27, 2007 at 2:41 PM
I have it working now. Thank you both for your advice.