JScript .NET, Part XI: Creating Windows Forms: Anchoring Controls - Doc JavaScript | WebReference

JScript .NET, Part XI: Creating Windows Forms: Anchoring Controls - Doc JavaScript


JScript .NET, Part XI: Creating Windows Forms

Anchoring Controls

The constructor function, PanelForm(), initializes all the controls on the form. First, it sets three properties of the form (Text, ClientSize, and StartPosition):

this.Text= "Anchoring Demo: Resize Me";
this.ClientSize= new System.Drawing.Size(300,350);
this.StartPosition= System.Windows.Forms.FormStartPosition.
  CenterScreen;

The code above sets the text of the window (look at the top bar), its size (300x350), and its position (CenterScreen).

All controls are defined in a similar way. You first need to initialize the control, and then set its Location, Size, Name, Text, and Anchor. Here is the initialization of the label control:

label1= new Label;
label1.Location= new Point(10,10);
label1.Size= new System.Drawing.Size(80,20);
label1.Name= "label1";
label1.Text= "This is a Label";
label1.Anchor= AnchorStyles.Left | AnchorStyles.Top;

The Anchor property is assembled by OR-ing all the required bits out of the four possibilities: AnchorStyle.Left, AnchorStyle.Top, AnchorStyle.Right, and AnchorStyle.Bottom. In this particular case, we anchor the label control to the left and top edges of the containing panel. That means that whenever you move the panel's top or left edges, the label will move as well, keeping the distance to the panel's top and left edges constant.

The textbox is defined similarly, anchored to the left side of the containing panel:

textBox1 = new TextBox;
textBox1.Location= new Point(10,30);
textBox1.Size = new System.Drawing.Size(90,20);
textBox1.Name= "textBox1";
textBox1.Text = "This is a TextBox";
textBox1.Anchor= AnchorStyles.Left;

The button is anchored to the right and bottom edges of the containing panel:

button1= new Button;
button1.Location= new Point(200,260);
button1.Size= new System.Drawing.Size(90,20);
button1.Name= "button1";
button1.Text= "This is a Button";
button1.Anchor= AnchorStyles.Right | AnchorStyles.Bottom;

Finally, we need to define the containing panel itself:

panel1= new Panel;
panel1.Location= new Point(0,0);
panel1.Size= new System.Drawing.Size(300,300);
panel1.Name= "This is a Panel";
panel1.Anchor= AnchorStyles.Top | AnchorStyles.Left;

Anchoring the panel is not important in this particular application. It will only play a part if you place this form inside another window.

Once all controls are ready, we can add them to the panel:

panel1.Controls.Add(label1);
panel1.Controls.Add(textBox1);
panel1.Controls.Add(button1);

and then add the panel to the Windows form:

this.Controls.Add(panel1);

We pop up the form by running the Application.Run() method. You should get the following Windows form:


Next: How to dock multiple windows


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/3.html