spacer

Webref WebRef   Sitemap · Experts · Tools · Services · Newsletters · About i.com

home / experts / javascript / column117


JScript .NET, Part XI: Creating Windows Forms

Sr. Web Developer
mediabistro.com
US-NY-New York

Justtechjobs.com Post A Job | Post A Resume
Developer News
Microsoft Shows Off Silverlight 4, IE9 Plans
Metasploit Expands Vulnerability Test Framework
HyperCard Reborn?


Docking Multiple Windows

In this page, we demonstrate how to dock smaller panels within a container panel. Many applications build their user interfaces with dockable windows. The advantage of dockable windows is that you can control the size of each window, while the container window prevents them from cluttering each other. You can achieve the effect of docking using either the dock or anchor property.

In our Windows form, we have three dockable panels on the bottom, top, and left sides of the container panel. Here is the definition of the container panel:

basePanel= new Panel;
basePanel.Location= new Point(0,0);
basePanel.Size= new System.Drawing.Size(500,300);
basePanel.Name= "basePanel";
basePanel.Anchor= AnchorStyles.Top | AnchorStyles.Left |
  AnchorStyles.Right | AnchorStyles.Bottom;

Here is the definition of the left panel. It is docked with the dock property, and it also has a 3D-style border:

leftPanel= new Panel;
leftPanel.Location= new Point(0,0);
leftPanel.Size= new System.Drawing.Size(100,300);
leftPanel.Name= "leftPanel";
leftPanel.Dock= DockStyle.Left;
leftPanel.BorderStyle = "Fixed3D";

We define the top panel in a similar way:

topPanel= new Panel;
topPanel.Location= new Point(100,0);
topPanel.Size= new System.Drawing.Size(400,200);
topPanel.Name= "topPanel";
topPanel.Anchor= AnchorStyles.Top | AnchorStyles.Left |
  AnchorStyles.Right | AnchorStyles.Bottom;
topPanel.BorderStyle = "Fixed3D";

The rest of the controls are defined as in Page 3, with the exception of their assigned parent. The label is added to the left panel:

leftPanel.Controls.Add(label1); 

The textbox is added to the top panel:

topPanel.Controls.Add(textBox1);

And the button is assigned to the bottom panel:

bottomPanel.Controls.Add(button1);  

We need to add the three panels to the base panel:

basePanel.Controls.Add(topPanel);
basePanel.Controls.Add(bottomPanel);
basePanel.Controls.Add(leftPanel);

Finally, we need to add the base panel to the Windows form:

this.Controls.Add(basePanel);

We called the package MultiplePanelResizeMe, and the class is MultiplePanelForm. We pop up the Windows form by calling Application.Run():

Application.Run(new MultiplePanelResizeMe.MultiplePanelForm());

You should get the following form:


Next: How to handle Click events

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs

webref The latest from WebReference.com Browse >
Rolling Out Your Own HTML Application Version Control · HTML 5: Client-side Storage · Working with Ajax Server Extensions
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
Wi-Fi Product Watch, November 2009 · Chip Market Recovering From '08 Collapse · Low-Cost Tools to Kickstart Your New Business


Produced by Yehuda Shiran and Tomer Shiran
All Rights Reserved. Legal Notices.
Created: August 26, 2002
Revised: August 26, 2002

URL: http://www.webreference.com/js/column117/4.html