Condividi tramite


ImageList.ImageSize Proprietà

Definizione

Ottiene o imposta le dimensioni delle immagini nell'elenco di 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à

Oggetto Size che definisce l'altezza e la larghezza, in pixel, delle immagini nell'elenco. Le dimensioni predefinite sono 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.

La nuova dimensione ha una dimensione minore di 0 o maggiore di 256.

Esempio

L'esempio di codice seguente illustra la creazione di un oggetto ImageList, l'aggiunta Images di immagini alla 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 di conseguenza l'esempio 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 comporta il ridimensionamento delle immagini in base alle dimensioni dell'immagine specificate.

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

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

Si applica a