Compartilhar via


Control.ClientSize Propriedade

Definição

Obtém ou define a altura e a largura da área do 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 do 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 o preenchimento parecer igual, alinhe o texto com o ContentAlignment.MiddleCenter valor, se o 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 do cliente de um controle é os limites do controle, menos os elementos nãoclientes, 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 seu código seja executado quando a ClientSize propriedade for definida.

O Size.Width e Size.Height as propriedades 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 dos 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 a Visão geral das Configurações do Aplicativo.

Aplica-se a

Confira também