Export (0) Print
Expand All
Expand Minimize

PictureBoxSizeMode Enumeration

Specifies how an image is positioned within a PictureBox.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

public enum PictureBoxSizeMode
public enum PictureBoxSizeMode
public enum PictureBoxSizeMode

 Member nameDescription
AutoSizeThe PictureBox is sized equal to the size of the image that it contains. 
Supported by the .NET Compact FrameworkCenterImageThe image is displayed in the center if the PictureBox is larger than the image. If the image is larger than the PictureBox, the picture is placed in the center of the PictureBox and the outside edges are clipped. 
Supported by the .NET Compact FrameworkNormalThe image is placed in the upper-left corner of the PictureBox. The image is clipped if it is larger than the PictureBox it is contained in. 
Supported by the .NET Compact FrameworkStretchImageThe image within the PictureBox is stretched or shrunk to fit the size of the PictureBox
ZoomThe size of the image is increased or decreased maintaining the size ratio. 

Use the members of this enumeration to set the value of the SizeMode property of the PictureBox.

The following code example demonstrates the use of the PictureBox and ListView controls. The PictureBox is initialized by setting the PictureBox.BorderStyle and PictureBox.SizeMode properties using the BorderStyle and PictureBoxSizeMode enumerations, respectively. The ListView is populated with pictures from the Samples directory. The ListView.GetItemAt method is used in when handling the ListView control's MouseDown event to determine whether an item is selected. If an item is selected, the event handler displays the selected file by setting the PictureBox.Image property. The example assumes the existence of JPG files located in the C:\documents and Settings\All Users\Documents\My Pictures\Sample Pictures directory. To run the example, paste the code in a form and call the InitializePictureBox and PopulateListView methods in the form's constructor or Load event-method. Ensure all events are associated with their event-handling methods.

private void PopulateListView()
{
    ListView1.Width = 270;
    ListView1.Location = new System.Drawing.Point(10, 10);

    // Declare and construct the ColumnHeader objects.
    ColumnHeader header1, header2;
    header1 = new ColumnHeader();
    header2 = new ColumnHeader();

    // Set the text, alignment and width for each column header.
    header1.Text = "File name";
    header1.TextAlign = HorizontalAlignment.Left;
    header1.Width = 70;

    header2.TextAlign = HorizontalAlignment.Left;
    header2.Text = "Location";
    header2.Width = 200;

    // Add the headers to the ListView control.
    ListView1.Columns.Add(header1);
    ListView1.Columns.Add(header2);

    // Populate the ListView.Items property.
    // Set the directory to the sample picture directory.
    System.IO.DirectoryInfo dirInfo = 
        new System.IO.DirectoryInfo(
        "C:\\Documents and Settings\\All Users" +
        "\\Documents\\My Pictures\\Sample Pictures");
    

    // Get the .jpg files from the directory
    System.IO.FileInfo[] files = dirInfo.GetFiles("*.jpg");

    // Add each file name and full name including path
    // to the ListView.
    if (files != null)
    {
        foreach ( System.IO.FileInfo file in files )
        {
            ListViewItem item = new ListViewItem(file.Name);
            item.SubItems.Add(file.FullName);
            ListView1.Items.Add(item);
        }
    }
}

private void InitializePictureBox()
{
    PictureBox1 = new PictureBox();

    // Set the location and size of the PictureBox control.
    this.PictureBox1.Location = new System.Drawing.Point(70, 120);
    this.PictureBox1.Size = new System.Drawing.Size(140, 140);
    this.PictureBox1.TabStop = false;

    // Set the SizeMode property to the StretchImage value.  This
    // will shrink or enlarge the image as needed to fit into
    // the PictureBox.
    this.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

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

    // Add the PictureBox to the form.
    this.Controls.Add(this.PictureBox1);

}


private void ListView1_MouseDown(object sender, MouseEventArgs e)
{

    ListViewItem selection = ListView1.GetItemAt(e.X, e.Y);

    // If the user selects an item in the ListView, display
    // the image in the PictureBox.
    if (selection != null)
    {
        PictureBox1.Image = System.Drawing.Image.FromFile(
            selection.SubItems[1].Text);
    }
}

private void PopulateListView()
{
    listView1.set_Width(270);
    listView1.set_Location(new System.Drawing.Point(10, 10));
    // Declare and construct the ColumnHeader objects.
    ColumnHeader header1, header2;
    header1 = new ColumnHeader();
    header2 = new ColumnHeader();
    // Set the text, alignment and width for each column header.
    header1.set_Text("File name");
    header1.set_TextAlign(HorizontalAlignment.Left);
    header1.set_Width(70);

    header2.set_TextAlign(HorizontalAlignment.Left);
    header2.set_Text("Location");
    header2.set_Width(200);
    // Add the headers to the ListView control.
    listView1.get_Columns().Add(header1);
    listView1.get_Columns().Add(header2);
    // Populate the ListView.Items property.
    // Set the directory to the sample picture directory.
    System.IO.DirectoryInfo dirInfo =
        new System.IO.DirectoryInfo("C:\\Documents and Settings\\All Users"
        + "\\Documents\\My Pictures\\Sample Pictures");
    // Get the.jpg files from the directory
    System.IO.FileInfo files[] = dirInfo.GetFiles("*.jpg");
    // Add each file name and full name including path
    // to the ListView.
    if (files != null) {
        for (int iCtr = 0; iCtr < files.length; iCtr++) {
            System.IO.FileInfo file = files[iCtr];
            ListViewItem item = new ListViewItem(file.get_Name());
            item.get_SubItems().Add(file.get_FullName());
            listView1.get_Items().Add(item);
        }
    }
} //PopulateListView

private void InitializePictureBox()
{
    pictureBox1 = new PictureBox();
    // Set the location and size of the PictureBox control.
    this.pictureBox1.set_Location(new System.Drawing.Point(70, 120));
    this.pictureBox1.set_Size(new System.Drawing.Size(140, 140));
    this.pictureBox1.set_TabStop(false);
    // Set the SizeMode property to the StretchImage value.  This
    // will shrink or enlarge the image as needed to fit into
    // the PictureBox.
    this.pictureBox1.set_SizeMode(PictureBoxSizeMode.StretchImage);
    // Set the border style to a three-dimensional border.
    this.pictureBox1.set_BorderStyle(BorderStyle.Fixed3D);
    // Add the PictureBox to the form.
    this.get_Controls().Add(this.pictureBox1);
} //InitializePictureBox

private void listView1_MouseDown(Object sender, MouseEventArgs e)
{
    ListViewItem selection = listView1.GetItemAt(e.get_X(), e.get_Y());
    // If the user selects an item in the ListView, display
    // the image in the PictureBox.
    if (selection != null) {
        pictureBox1.set_Image(System.Drawing.Image.FromFile(
            selection.get_SubItems().get_Item(1).get_Text()));
    }
} //listView1_MouseDown

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.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft