PictureBoxSizeMode Enumeration
Specifies how an image is positioned within a PictureBox.
[Visual Basic] <Serializable> Public Enum PictureBoxSizeMode [C#] [Serializable] public enum PictureBoxSizeMode [C++] [Serializable] __value public enum PictureBoxSizeMode [JScript] public Serializable enum PictureBoxSizeMode
Remarks
Use the members of this enumeration to set the value of the SizeMode property of the PictureBox.
Members
| Member name | Description |
|---|---|
| AutoSize | The PictureBox is sized equal to the size of the image that it contains. |
| CenterImage Supported by the .NET Compact Framework. | 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 Supported by the .NET Compact Framework. | 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 Supported by the .NET Compact Framework. | The image within the PictureBox is stretched or shrunk to fit the size of the PictureBox. |
Example
[Visual Basic, C#] The following code example demonstrates the use of a PictureBox and ListView controls. The PictureBox is initialized by setting the BorderStyle and SizeMode properties using the BorderStyle and PictureBoxSizeMode enumerations, respectively. The ListView is populated with pictures from the Samples directory. The 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 control's 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 sample example paste the code in a form and call the InitializePictureBox and PopulateListView methods in the form's constructor or Load method. Ensure all events are connected with their event-handling methods.
[Visual Basic] 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 [C#] 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); } }
[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Namespace: System.Windows.Forms
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)