This documentation is archived and is not being maintained.

Label.PreferredWidth Property

Gets the preferred width of the control.

[Visual Basic]
Public Overridable ReadOnly Property PreferredWidth As Integer
[C#]
public virtual int PreferredWidth {get;}
[C++]
public: __property virtual int get_PreferredWidth();
[JScript]
public function get PreferredWidth() : int;

Property Value

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

Remarks

This property returns the length of the text string, but does not take line wrapping into consideration. For example, a text string that measures 300 pixels wide could be displayed as three lines in a Label that is only 100 pixels wide. The PreferredWidth property still returns 300 pixels. You can use this property, along with the PreferredHeight 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.

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

Example

The following 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 assumes that an ImageList has been created and named imageList1 and that it has loaded two images. The example also assumes that the code is within a form that has the System.Drawing namespace added to its code.

[Visual Basic] 
Public Sub CreateMyLabel()
    ' Create an instance of a Label.
    Dim label1 As New 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 = New Size(label1.PreferredWidth, label1.PreferredHeight)

    '...Code to add the control to the form...
End Sub


[C#] 
public void CreateMyLabel()
{
   // Create an instance of a Label.
   Label label1 = new 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 = new Size (label1.PreferredWidth, label1.PreferredHeight);

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


[C++] 
public:
 void CreateMyLabel()
 {
    // Create an instance of a Label.
    Label* label1 = new 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 = S"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...
 }
 

[JScript] 
public function CreateMyLabel()
{
   // Create an instance of a Label.
   var label1 : Label = new 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 = new System.Drawing.Size (label1.PreferredWidth, label1.PreferredHeight);

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

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

Label Class | Label Members | System.Windows.Forms Namespace | PreferredHeight | AutoSize

Show: