PictureBox.SizeMode Property

Definition

Indicates how the image is displayed.

public:
 property System::Windows::Forms::PictureBoxSizeMode SizeMode { System::Windows::Forms::PictureBoxSizeMode get(); void set(System::Windows::Forms::PictureBoxSizeMode value); };
public System.Windows.Forms.PictureBoxSizeMode SizeMode { get; set; }
member this.SizeMode : System.Windows.Forms.PictureBoxSizeMode with get, set
Public Property SizeMode As PictureBoxSizeMode

Property Value

One of the PictureBoxSizeMode values. The default is Normal.

Exceptions

The value assigned is not one of the PictureBoxSizeMode values.

Examples

The following code example demonstrates the use of the SizeMode property. To run this example, paste the following code into a Windows Form and call the InitializePictureBoxAndButton method from the form's constructor or Load-event handling method.

PictureBox PictureBox1 = new PictureBox();
Button Button1 = new Button();

private void InitializePictureBoxAndButton()
{

    this.Controls.Add(PictureBox1);
    this.Controls.Add(Button1);
    Button1.Location = new Point(175, 20);
    Button1.Text = "Stretch";
    Button1.Click += new EventHandler(Button1_Click);

    // Set the size of the PictureBox control.
    this.PictureBox1.Size = new System.Drawing.Size(140, 140);

    //Set the SizeMode to center the image.
    this.PictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;

    // Set the border style to a three-dimensional border.
    this.PictureBox1.BorderStyle = BorderStyle.Fixed3D;

    // Set the image property.
    this.PictureBox1.Image = new Bitmap(typeof(Button), "Button.bmp");
}

private void Button1_Click(System.Object sender, System.EventArgs e)
{
    // Set the SizeMode property to the StretchImage value.  This
    // will enlarge the image as needed to fit into
    // the PictureBox.
    PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
}
Dim PictureBox1 As New PictureBox()
Dim WithEvents Button1 As New Button

<STAThread()> _
Public Shared Sub Main()
    Application.EnableVisualStyles()
    Application.Run(New Form1())
End Sub

Private Sub InitializePictureBoxAndButton()

    Me.Controls.Add(PictureBox1)
    Me.Controls.Add(Button1)
    Button1.Location = New Point(175, 20)
    Button1.Text = "Stretch"

    ' Set the size of the PictureBox control.
    Me.PictureBox1.Size = New System.Drawing.Size(140, 140)

    'Set the SizeMode to center the image.
    Me.PictureBox1.SizeMode = PictureBoxSizeMode.CenterImage

    ' Set the border style to a three-dimensional border.
    Me.PictureBox1.BorderStyle = BorderStyle.Fixed3D

    ' Set the image property.
    Me.PictureBox1.Image = New Bitmap(GetType(Button), "Button.bmp")
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click
    ' Set the SizeMode property to the StretchImage value.  This
    ' will enlarge the image as needed to fit into
    ' the PictureBox.
    PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
End Sub

Remarks

Valid values for this property are taken from the PictureBoxSizeMode enumeration.

By default, in Normal mode, the Image is positioned in the upper-left corner of the PictureBox, and any part of the image that is too big for the PictureBox is clipped. Using the StretchImage value causes the image to stretch or shrink to fit the PictureBox. Using the Zoom value causes the image to be stretched or shrunk to fit the PictureBox; however, the aspect ratio in the original is maintained.

Using the AutoSize value causes the control to resize to always fit the image. Using the CenterImage value causes the image to be centered in the client area.

Applies to

See also