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 大小,使其等于所包含的图像大小。 
由 .NET Compact Framework 支持 CenterImage 如果 PictureBox 比图像大,则图像将居中显示。如果图像比 PictureBox 大,则图片将居于 PictureBox 中心,而外边缘将被剪裁掉。 
由 .NET Compact Framework 支持 Normal 图像被置于 PictureBox 的左上角。如果图像比包含它的 PictureBox 大,则该图像将被剪裁掉。 
由 .NET Compact Framework 支持 StretchImage PictureBox 中的图像被拉伸或收缩,以适合 PictureBox 的大小。 
Zoom 图像大小按其原有的大小比例被增加或减小。 

备注

使用此枚举的成员设置 PictureBoxSizeMode 属性的值。

示例

下面的代码示例演示 PictureBoxListView 控件的用法。通过使用 BorderStylePictureBoxSizeMode 枚举分别设置 PictureBox.BorderStylePictureBox.SizeMode 属性来初始化 PictureBoxListView 由 Samples 目录中的图片填充。当处理 ListView 控件的 MouseDown 事件时,将使用 ListView.GetItemAt 方法来确定某项是否被选定。如果某项被选定,事件处理程序将通过设置 PictureBox.Image 属性来显示选定的文件。该示例假定 JPG 文件位于 C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures 目录中。要运行该示例,请将代码粘贴到窗体中并在该窗体的构造函数或者 Load 事件方法中调用 InitializePictureBoxPopulateListView 方法。确保所有事件都与其事件处理程序关联。

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

请参见

参考

System.Windows.Forms 命名空间