Condividi tramite


ImageList.ImageSize Proprietà

Definizione

Ottiene o imposta la dimensione delle immagini nell'elenco immagini.

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

Valore della proprietà

Size

L'oggetto Size che definisce altezza e larghezza in pixel delle immagini nell'elenco. La dimensione predefinita è 16 per 16. La dimensione massima è 256 per 256.

Eccezioni

Il valore assegnato è uguale a IsEmpty.

-oppure- Il valore dell'altezza o della larghezza è minore o uguale a 0.

-oppure- Il valore dell'altezza o della larghezza è maggiore di 256.

Una delle nuove dimensioni è minore di 0 o maggiore di 256.

Esempio

L'esempio di codice seguente illustra la costruzione di un ImageListoggetto , l'aggiunta di immagini alla Images proprietà, l'impostazione della ImageSize proprietà e l'uso del Draw metodo . Per eseguire questo esempio, inserirlo in un modulo contenente un pulsante denominato Button1. L'esempio presuppone l'esistenza di FeatherTexture.bmp e Gone Fishing.bmp in c:\Windows\. Modificare l'esempio di conseguenza se le bitmap non esistono nel sistema o esistono in un'altra posizione.

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

Commenti

L'impostazione della ImageSize proprietà prima dell'aggiunta di immagini all'insieme di immagini causa il ridimensionamento delle immagini alla dimensione dell'immagine specificata.

Quando si imposta la ImageSize proprietà su un nuovo valore, l'elenco Handle di immagini viene ricreato.

Poiché l'impostazione della ImageSize proprietà causa la ricreazione dell'handle, è necessario impostare ImageSize prima di impostare la Images proprietà. Quando l'handle per ImageList l'oggetto è stato creato, l'impostazione delle ColorDepth proprietà o ImageSize nel codice, dopo l'impostazione Images della proprietà, causerà l'eliminazione della raccolta di immagini impostate per la Images proprietà.

Si applica a