Control.ClientSize Proprietà

Definizione

Ottiene o imposta l'altezza e la larghezza dell'area client del controllo.

public:
 property System::Drawing::Size ClientSize { System::Drawing::Size get(); void set(System::Drawing::Size value); };
[System.ComponentModel.Browsable(false)]
public System.Drawing.Size ClientSize { get; set; }
[<System.ComponentModel.Browsable(false)>]
member this.ClientSize : System.Drawing.Size with get, set
Public Property ClientSize As Size

Valore della proprietà

Size

Oggetto Size che rappresenta le dimensioni dell'area client del controllo.

Attributi

Esempio

Nell'esempio di codice seguente il controllo specificato viene ridimensionato in modo che il controllo possa contenere il testo formattato. Il testo formattato è la Text proprietà con il controllo assegnato Font al testo. Il AutoSizeControl metodo in questo esempio include anche un textPadding parametro che rappresenta la spaziatura interna da applicare a tutti i bordi del controllo. Per rendere la spaziatura interna uguale, allineare il testo con il ContentAlignment.MiddleCenter valore , se il controllo lo supporta.

private:
   void AutoSizeControl( Control^ control, int textPadding )
   {
      
      // Create a Graphics object for the Control.
      Graphics^ g = control->CreateGraphics();
      
      // Get the Size needed to accommodate the formatted Text.
      System::Drawing::Size preferredSize = g->MeasureString( control->Text, control->Font ).ToSize();
      
      // Pad the text and resize the control.
      control->ClientSize = System::Drawing::Size( preferredSize.Width + (textPadding * 2), preferredSize.Height + (textPadding * 2) );
      
      // Clean up the Graphics object.
      delete g;
   }
private void AutoSizeControl(Control control, int textPadding)
{
   // Create a Graphics object for the Control.
   Graphics g = control.CreateGraphics();

   // Get the Size needed to accommodate the formatted Text.
   Size preferredSize = g.MeasureString(
      control.Text, control.Font).ToSize();

   // Pad the text and resize the control.
   control.ClientSize = new Size(
      preferredSize.Width + (textPadding * 2), 
      preferredSize.Height+(textPadding * 2) );

   // Clean up the Graphics object.
   g.Dispose();
}
Private Sub AutoSizeControl(control As Control, textPadding As Integer)
   ' Create a Graphics object for the Control.
   Dim g As Graphics = control.CreateGraphics()
   
   ' Get the Size needed to accommodate the formatted Text.
   Dim preferredSize As Size = g.MeasureString( _
     control.Text, control.Font).ToSize()
   
   ' Pad the text and resize the control.
   control.ClientSize = New Size( _
     preferredSize.Width + textPadding * 2, _
     preferredSize.Height + textPadding * 2)
   
   ' Clean up the Graphics object.
   g.Dispose()
End Sub

Commenti

L'area client di un controllo è costituita dai limiti del controllo, meno gli elementi non client, ad esempio barre di scorrimento, bordi, barre del titolo e menu. Il SetClientSizeCore metodo viene chiamato per impostare la ClientSize proprietà . La ClientSize proprietà non viene sempre modificata tramite il relativo set metodo, pertanto è necessario eseguire l'override del SetClientSizeCore metodo per assicurarsi che il codice venga eseguito quando viene impostata la ClientSize proprietà .

Le Size.Width proprietà e Size.Height rappresentano la larghezza e l'altezza dell'area client del controllo. È possibile utilizzare questa proprietà per ottenere le dimensioni dell'area client del controllo per attività come il disegno sulla superficie del controllo.

Per altre informazioni sul disegno sui controlli, vedere Rendering di un controllo Windows Forms.

Nota

Non è possibile associare le impostazioni dell'applicazione a questa proprietà. Per altre informazioni sulle impostazioni dell'applicazione, vedere Panoramica delle impostazioni dell'applicazione.

Si applica a

Vedi anche