Label::PreferredHeight Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets the preferred height of the control.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

property int PreferredHeight {
	virtual int get();

Property Value

Type: System::Int32

The height of the control (in pixels), assuming a single line of text is displayed.

This property returns the height that the control should be in order to properly display text, based on the font assigned to the control. You can use this property along with the PreferredWidth property to ensure that the text in the Label control is displayed properly. You can use the AutoSize property to automatically adjust the height and the width of the Label control, based on the text and font size.


If the BorderStyle property of the Label control is set to BorderStyle.None, the value returned by PreferredHeight property will be larger due to the lack of borders.

The following code example demonstrates how to create a Label control that has a three-dimensional border and an image displayed using the ImageList and ImageIndex properties. The control also has a caption with a mnemonic character specified. The example code uses the PreferredHeight and PreferredWidth properties to properly size the Label control on the form on which it is displayed. This example requires that an ImageList has been created and named imageList1 and that it has loaded two images. The example also requires that the code is within a form that has the System.Drawing namespace added to its code.

   void CreateMyLabel()
      // Create an instance of a Label.
      Label^ label1 = gcnew Label;

      // Set the border to a three-dimensional border.
      label1->BorderStyle = System::Windows::Forms::BorderStyle::Fixed3D;
      // Set the ImageList to use for displaying an image.
      label1->ImageList = imageList1;
      // Use the second image in imageList1.
      label1->ImageIndex = 1;
      // Align the image to the top left corner.
      label1->ImageAlign = ContentAlignment::TopLeft;

      // Specify that the text can display mnemonic characters.
      label1->UseMnemonic = true;
      // Set the text of the control and specify a mnemonic character.
      label1->Text = "First &Name:";

      /* Set the size of the control based on the PreferredHeight and PreferredWidth values. */
      label1->Size = System::Drawing::Size( label1->PreferredWidth, label1->PreferredHeight );

      //...Code to add the control to the form...

.NET Framework
Available since 1.1
Return to top