Topics: CAB & Smart Client Software Factory
Aug 10, 2006 at 2:06 AM
originally posted by: MaartenVisser

Hi All,
I have the case that I want to create a page in a workspace that shows three different views(smartparts), three different lists. These views should be resizable etc.
When reading the documentation that maybe the zoneworkspace of CAB would fit my case, but documentation is pretty shallow around this workspace
My questions are:
1)Is the right solution, or are there better ones in CAB (or create my own workspace, or just use splitcontainers)
2)If yes, how should I use zoneworkspace, because I almost found no documentation. Is there any sample code

Aug 10, 2006 at 2:36 AM
originally posted by: DapinderSingh

ZONEWORSPACE can be used in many ways.
One way is that u create a usercontrol.cs file.

On this user control, put a ZONEWORKSPACE and then on this ZONEWORKSPACE, you can put PANELS like PANEL1, and Panel2.

set the zoneName of the panel1 = "CucstomerInfo"
set the zoneName of the panel2 = "Teller"

In the same module, create two usercontrols ( views with presenter) and put some stactic controls on these views.

Name the first view as "TellerView" and second view as "CucstomerInfo"

Now here is the function in The "ModuleController.cs" file of the Module where you have this zoneworkspace on usercontol:

private void ShowTellerViews()
ZoneSmartPartInfo _zoneSPInfo = new ZoneSmartPartInfo("CustomerInfo");
ZoneSmartPartInfo _zoneSPInfo2 = new ZoneSmartPartInfo("Teller");

_zoneSPInfo.Dock = DockStyle.Fill;
_zoneSPInfo2.Dock = DockStyle.Fill;

ZoneWorkspace _zoneWorkSpace = (ZoneWorkspace)WorkItem.WorkspacesWorkspaceNames.TellerLayoutWorkspace;
object _smartPart = WorkItem.Items.Get<Module2.CustomerInfo>("CustomerInfo");
object _smartPart2 = WorkItem.Items.Get<Teller>("Teller");

zoneWorkSpace.Show(smartPart, _zoneSPInfo);
zoneWorkSpace.Show(smartPart2, _zoneSPInfo2);

I think this will help you out :-).