Gets or sets the edges of the container to which a control is bound and determines how a control is resized with its parent.
Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax
Visual Basic (Declaration)
<LocalizableAttribute(True)> _
Public Overridable Property Anchor As AnchorStyles
Dim instance As Control
Dim value As AnchorStyles
value = instance.Anchor
instance.Anchor = value
[LocalizableAttribute(true)]
public virtual AnchorStyles Anchor { get; set; }
[LocalizableAttribute(true)]
public:
virtual property AnchorStyles Anchor {
AnchorStyles get ();
void set (AnchorStyles value);
}
/** @property */
public AnchorStyles get_Anchor ()
/** @property */
public void set_Anchor (AnchorStyles value)
public function get Anchor () : AnchorStyles
public function set Anchor (value : AnchorStyles)
Property Value
A bitwise combination of the
AnchorStyles values. The default is
Top and
Left.

Remarks
Use the Anchor property to define how a control is automatically resized as its parent control is resized. Anchoring a control to its parent control ensures that the anchored edges remain in the same position relative to the edges of the parent control when the parent control is resized.
You can anchor a control to one or more edges of its container. For example, if you have a Form with a Button whose Anchor property value is set to Top and Bottom, the Button is stretched to maintain the anchored distance to the top and bottom edges of the Form as the Height of the Form is increased.
Note |
|---|
| The Anchor and Dock properties are mutually exclusive. Only one can be set at a time, and the last one set takes precedence. |
Notes to Inheritors
When overriding the
Anchor property in a derived class, use the base class's
Anchor property to extend the base implementation. Otherwise, you must provide all the implementation. You are not required to override both the
get and
set accessors of the
Anchor property; you can override only one if needed.

Example
The following code example adds a Button to a form and sets some of its common properties. The example anchors the button to the bottom-right corner of the form so it keeps its relative position as the form is resized. Next it sets the BackgroundImage and resizes the button to the same size as the Image. The example then sets the TabStop to true and sets the TabIndex property. Lastly, it adds an event handler to handle the Click event of the button. This example requires that you have an ImageList named imageList1.
' Add a button to a form and set some of its common properties.
Private Sub AddMyButton()
' Create a button and add it to the form.
Dim button1 As New Button()
' Anchor the button to the bottom right corner of the form
button1.Anchor = AnchorStyles.Bottom Or AnchorStyles.Right
' Assign a background image.
button1.BackgroundImage = imageList1.Images(0)
' Specify the layout style of the background image. Tile is the default.
button1.BackgroundImageLayout = ImageLayout.Center
' Make the button the same size as the image.
button1.Size = button1.BackgroundImage.Size
' Set the button's TabIndex and TabStop properties.
button1.TabIndex = 1
button1.TabStop = True
' Add a delegate to handle the Click event.
AddHandler button1.Click, AddressOf Me.button1_Click
' Add the button to the form.
Me.Controls.Add(button1)
End Sub
// Add a button to a form and set some of its common properties.
private void AddMyButton()
{
// Create a button and add it to the form.
Button button1 = new Button();
// Anchor the button to the bottom right corner of the form
button1.Anchor = (AnchorStyles.Bottom | AnchorStyles.Right);
// Assign a background image.
button1.BackgroundImage = imageList1.Images[0];
// Specify the layout style of the background image. Tile is the default.
button1.BackgroundImageLayout = ImageLayout.Center;
// Make the button the same size as the image.
button1.Size = button1.BackgroundImage.Size;
// Set the button's TabIndex and TabStop properties.
button1.TabIndex = 1;
button1.TabStop = true;
// Add a delegate to handle the Click event.
button1.Click += new System.EventHandler(this.button1_Click);
// Add the button to the form.
this.Controls.Add(button1);
}
// Add a button to a form and set some of its common properties.
private:
void AddMyButton()
{
// Create a button and add it to the form.
Button^ button1 = gcnew Button;
// Anchor the button to the bottom right corner of the form
button1->Anchor = static_cast<AnchorStyles>(AnchorStyles::Bottom | AnchorStyles::Right);
// Assign a background image.
button1->BackgroundImage = imageList1->Images[ 0 ];
// Specify the layout style of the background image. Tile is the default.
button1->BackgroundImageLayout = ImageLayout::Center;
// Make the button the same size as the image.
button1->Size = button1->BackgroundImage->Size;
// Set the button's TabIndex and TabStop properties.
button1->TabIndex = 1;
button1->TabStop = true;
// Add a delegate to handle the Click event.
button1->Click += gcnew System::EventHandler( this, &Form1::button1_Click );
// Add the button to the form.
this->Controls->Add( button1 );
}
// Add a button to a form and set some of its common properties.
private void AddMyButton()
{
// Create a button and add it to the form.
Button button1 = new Button();
// Anchor the button to the bottom right corner of the form
button1.set_Anchor(AnchorStyles.Bottom | AnchorStyles.Right);
// Assign a background image.
button1.set_BackgroundImage(imageList1.get_Images().get_Item(0));
// Specify the layout style of the background image. Tile is the
// default.
button1.set_BackgroundImageLayout(ImageLayout.Center);
// Make the button the same size as the image.
button1.set_Size(button1.get_BackgroundImage().get_Size());
// Set the button's TabIndex and TabStop properties.
button1.set_TabIndex(1);
button1.set_TabStop(true);
// Add a delegate to handle the Click event.
button1.add_Click(new System.EventHandler(this.button1_Click));
// Add the button to the form.
this.get_Controls().Add(button1);
} //AddMyButton

Platforms
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

Version Information
.NET Framework
Supported in: 2.0, 1.1, 1.0
.NET Compact Framework
Supported in: 2.0

See Also