PictureBoxSizeMode Enumeration
Assembly: System.Windows.Forms (in system.windows.forms.dll)
| Member name | Description | |
|---|---|---|
| AutoSize | The PictureBox is sized equal to the size of the image that it contains. | |
![]() | CenterImage | The 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. |
![]() | Normal | The 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. |
![]() | StretchImage | The image within the PictureBox is stretched or shrunk to fit the size of the PictureBox. |
| Zoom | The 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 Sub PopulateListView() ListView1.Width = 270 ListView1.Location = New System.Drawing.Point(10, 10) ' Declare and construct the ColumnHeader objects. Dim header1, header2 As ColumnHeader 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. Dim dirInfo As New System.IO.DirectoryInfo _ ("C:\Documents and Settings\All Users" _ & "\Documents\My Pictures\Sample Pictures") Dim file As System.IO.FileInfo ' Get the .jpg files from the directory Dim files() As System.io.FileInfo = dirInfo.GetFiles("*.jpg") ' Add each file name and full name including path ' to the ListView. If Not (files Is Nothing) Then For Each file In files Dim item As New ListViewItem(file.Name) item.SubItems.Add(file.FullName) ListView1.Items.Add(item) Next End If End Sub Private Sub InitializePictureBox() PictureBox1 = New PictureBox ' Set the location and size of the PictureBox control. Me.PictureBox1.Location = New System.Drawing.Point(70, 120) Me.PictureBox1.Size = New System.Drawing.Size(140, 140) Me.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. Me.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage ' Set the border style to a three-dimensional border. Me.PictureBox1.BorderStyle = BorderStyle.Fixed3D ' Add the PictureBox to the form. Me.Controls.Add(Me.PictureBox1) End Sub Private Sub ListView1_MouseDown(ByVal sender As Object, _ ByVal e As MouseEventArgs) Handles ListView1.MouseDown Dim selection As ListViewItem = ListView1.GetItemAt(e.X, e.Y) ' If the user selects an item in the ListView, display ' the image in the PictureBox. If Not (selection Is Nothing) Then PictureBox1.Image = System.Drawing.Image.FromFile _ (selection.SubItems(1).Text) End If End Sub
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.
