ImageList.ImageSize 属性

定义

获取或设置图像列表中的图像大小。Gets or sets the size of the images in the image list.

public:
 property System::Drawing::Size ImageSize { System::Drawing::Size get(); void set(System::Drawing::Size value); };
public System.Drawing.Size ImageSize { get; set; }
member this.ImageSize : System.Drawing.Size with get, set
Public Property ImageSize As Size

属性值

定义列表中的图像高度和宽度(以像素为单位)的 SizeThe Size that defines the height and width, in pixels, of the images in the list. 默认大小是 16 x 16。The default size is 16 by 16. 最大大小是 256 x 256。The maximum size is 256 by 256.

异常

所分配的值等于 IsEmptyThe value assigned is equal to IsEmpty.

-or- 高度或宽度值小于或等于零。The value of the height or width is less than or equal to 0.

-or- 高度或宽度值大于 256。The value of the height or width is greater than 256.

新大小有一个维度小于 0 或大于 256。The new size has a dimension less than 0 or greater than 256.

示例

下面的代码示例演示如何构造ImageListImages向属性添加图像、设置ImageSize属性以及使用Draw方法。The following code example demonstrates constructing an ImageList, adding images to the Images property, setting the ImageSize property, and using the Draw method. 若要运行此示例, 请将其放在包含名为Button1的按钮的窗体中。To run this example, place it in a form containing a button named Button1. 该示例假定存在FeatherTexture.bmpGone Fishing.bmp为 c:\Windows\。The example assumes the existence of FeatherTexture.bmp and Gone Fishing.bmp at c:\Windows\. 如果系统中不存在位图, 或存在于其他位置, 请相应地更改示例。Change the example accordingly if the bitmaps do not exist on your system, or exist at another location.

internal:
   System::Windows::Forms::ImageList^ ImageList1;

private:

   // Create an ImageList Object, populate it, and display
   // the images it contains.
   void Button1_Click( System::Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      
      // Construct the ImageList.
      ImageList1 = gcnew ImageList;
      
      // Set the ImageSize property to a larger size 
      // (the default is 16 x 16).
      ImageList1->ImageSize = System::Drawing::Size( 112, 112 );
      
      // Add two images to the list.
      ImageList1->Images->Add( Image::FromFile( "c:\\windows\\FeatherTexture.bmp" ) );
      ImageList1->Images->Add( Image::FromFile( "C:\\windows\\Gone Fishing.bmp" ) );
      
      // Get a Graphics object from the form's handle.
      Graphics^ theGraphics = Graphics::FromHwnd( this->Handle );
      
      // Loop through the images in the list, drawing each image.
      for ( int count = 0; count < ImageList1->Images->Count; count++ )
      {
         ImageList1->Draw( theGraphics, Point(85,85), count );
         
         // Call Application.DoEvents to force a repaint of the form.
         Application::DoEvents();
         
         // Call the Sleep method to allow the user to see the image.
         System::Threading::Thread::Sleep( 1000 );

      }
   }
internal System.Windows.Forms.ImageList ImageList1;

// Create an ImageList Object, populate it, and display
// the images it contains.
private void Button1_Click(System.Object sender, 
    System.EventArgs e)
{

    // Construct the ImageList.
    ImageList1 = new ImageList();

    // Set the ImageSize property to a larger size 
    // (the default is 16 x 16).
    ImageList1.ImageSize = new Size(112, 112);

    // Add two images to the list.
    ImageList1.Images.Add(
        Image.FromFile("c:\\windows\\FeatherTexture.bmp"));
    ImageList1.Images.Add(
        Image.FromFile("C:\\windows\\Gone Fishing.bmp"));

    // Get a Graphics object from the form's handle.
    Graphics theGraphics = Graphics.FromHwnd(this.Handle);

    // Loop through the images in the list, drawing each image.
    for(int count = 0; count < ImageList1.Images.Count; count++)
    {
        ImageList1.Draw(theGraphics, new Point(85, 85), count);

        // Call Application.DoEvents to force a repaint of the form.
        Application.DoEvents();

        // Call the Sleep method to allow the user to see the image.
        System.Threading.Thread.Sleep(1000);
    }
}

Friend WithEvents ImageList1 As System.Windows.Forms.ImageList

' Create an ImageList Object, populate it, and display
' the images it contains.
Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click

    ' Construct the ImageList.
    ImageList1 = New ImageList

    ' Set the ImageSize property to a larger size 
    ' (the default is 16 x 16).
    ImageList1.ImageSize = New Size(112, 112)

    ' Add two images to the list.
    ImageList1.Images.Add(Image.FromFile _
        ("c:\windows\FeatherTexture.bmp"))
    ImageList1.Images.Add _
        (Image.FromFile("C:\windows\Gone Fishing.bmp"))

    Dim count As System.Int32

    ' Get a Graphics object from the form's handle.
    Dim theGraphics As Graphics = Graphics.FromHwnd(Me.Handle)

    ' Loop through the images in the list, drawing each image.
    For count = 0 To ImageList1.Images.Count - 1
        ImageList1.Draw(theGraphics, New Point(85, 85), count)

        ' Call Application.DoEvents to force a repaint of the form.
        Application.DoEvents()

        ' Call the Sleep method to allow the user to see the image.
        System.Threading.Thread.Sleep(1000)
    Next
End Sub

注解

在将图像添加到映像集合之前将属性设置为会导致图像大小设置为指定的图像大小。ImageSizeSetting the ImageSize property prior to adding images to the image collection causes the images to be resized to the image size specified.

ImageSize属性设置为新值时, 将重新创建Handle图像列表的。When you set the ImageSize property to a new value, the Handle for the image list is recreated.

由于设置ImageSize属性将导致重新创建句柄, 因此应在设置ImageSize Images属性之前设置。Because setting the ImageSize property causes the handle to be recreated, you should set ImageSize prior to setting the Images property. ImageList如果已创建的句柄, 则在代码中ColorDepth设置或ImageSize属性后, 在设置Images Images属性后, 将导致为要删除的属性设置的图像集合。When the handle for the ImageList has been created, setting the ColorDepth or ImageSize properties in code, after setting the Images property, will cause the collection of images set for the Images property to be deleted.

适用于