Control.ClientSize Propriedade

Definição

Obtém ou define a altura e a largura da área de cliente do controle.

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

Valor da propriedade

Um Size que representa as dimensões da área de cliente do controle.

Atributos

Exemplos

O exemplo de código a seguir redimensiona o controle especificado para que o controle acomode seu texto formatado. O texto formatado é a Text propriedade com o controle atribuído Font aplicado ao texto. O AutoSizeControl método neste exemplo também tem um textPadding parâmetro que representa o preenchimento a ser aplicado a todas as bordas do controle. Para fazer com que o preenchimento pareça igual, alinhe o texto com o valor , se o ContentAlignment.MiddleCenter controle der suporte a ele.

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

Comentários

A área de cliente de um controle é os limites do controle, menos os elementos não cliente, como barras de rolagem, bordas, barras de título e menus. O SetClientSizeCore método é chamado para definir a ClientSize propriedade . A ClientSize propriedade nem sempre é alterada por meio de seu set método, portanto, você deve substituir o SetClientSizeCore método para garantir que o código seja executado quando a ClientSize propriedade estiver definida.

As Size.Width propriedades e Size.Height representam a largura e a altura da área do cliente do controle. Você pode usar essa propriedade para obter o tamanho da área do cliente do controle para tarefas como desenhar na superfície do controle.

Para obter mais informações sobre como desenhar em controles, consulte Renderizando um controle de Windows Forms.

Observação

Não é possível associar as configurações do aplicativo a essa propriedade. Para obter mais informações sobre as configurações do aplicativo, consulte Visão geral das configurações do aplicativo.

Aplica-se a

Confira também