PictureBoxSizeMode 枚举
指定图像在 PictureBox 中的定位方式。
**命名空间:**System.Windows.Forms
**程序集:**System.Windows.Forms(在 system.windows.forms.dll 中)
语法
声明
Public Enumeration PictureBoxSizeMode
用法
Dim instance As PictureBoxSizeMode
public enum PictureBoxSizeMode
public enum class PictureBoxSizeMode
public enum PictureBoxSizeMode
public enum PictureBoxSizeMode
成员
成员名称 | 说明 | |
---|---|---|
AutoSize | 调整 PictureBox 大小,使其等于所包含的图像大小。 | |
CenterImage | 如果 PictureBox 比图像大,则图像将居中显示。如果图像比 PictureBox 大,则图片将居于 PictureBox 中心,而外边缘将被剪裁掉。 | |
Normal | 图像被置于 PictureBox 的左上角。如果图像比包含它的 PictureBox 大,则该图像将被剪裁掉。 | |
StretchImage | PictureBox 中的图像被拉伸或收缩,以适合 PictureBox 的大小。 | |
Zoom | 图像大小按其原有的大小比例被增加或减小。 |
备注
使用此枚举的成员设置 PictureBox 的 SizeMode 属性的值。
示例
下面的代码示例演示 PictureBox 和 ListView 控件的用法。通过使用 BorderStyle 和 PictureBoxSizeMode 枚举分别设置 PictureBox.BorderStyle 和 PictureBox.SizeMode 属性来初始化 PictureBox。ListView 由 Samples 目录中的图片填充。当处理 ListView 控件的 MouseDown 事件时,将使用 ListView.GetItemAt 方法来确定某项是否被选定。如果某项被选定,事件处理程序将通过设置 PictureBox.Image 属性来显示选定的文件。该示例假定 JPG 文件位于 C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures 目录中。要运行该示例,请将代码粘贴到窗体中并在该窗体的构造函数或者 Load 事件方法中调用 InitializePictureBox
和 PopulateListView
方法。确保所有事件都与其事件处理程序关联。
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.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->Width = 270;
ListView1->Location = System::Drawing::Point( 10, 10 );
// Declare and construct the ColumnHeader objects.
ColumnHeader^ header1;
ColumnHeader^ header2;
header1 = gcnew ColumnHeader;
header2 = gcnew 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 = gcnew System::IO::DirectoryInfo( "C:\\Documents and Settings\\All Users"
"\\Documents\\My Pictures\\Sample Pictures" );
// Get the .jpg files from the directory
array<System::IO::FileInfo^>^files = dirInfo->GetFiles( "*.jpg" );
// Add each file name and full name including path
// to the ListView.
if ( files != nullptr )
{
System::Collections::IEnumerator^ myEnum = files->GetEnumerator();
while ( myEnum->MoveNext() )
{
System::IO::FileInfo^ file = safe_cast<System::IO::FileInfo^>(myEnum->Current);
ListViewItem^ item = gcnew ListViewItem( file->Name );
item->SubItems->Add( file->FullName );
ListView1->Items->Add( item );
}
}
}
void InitializePictureBox()
{
PictureBox1 = gcnew PictureBox;
// Set the location and size of the PictureBox control.
this->PictureBox1->Location = System::Drawing::Point( 70, 120 );
this->PictureBox1->Size = 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 );
}
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 != nullptr )
{
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
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0
.NET Compact Framework
受以下版本支持:2.0、1.0