ListBox.IntegralHeight Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает значение, указывающее, должны ли изменяться размеры элемента управления, чтобы избежать частичного отображения элементов.
public:
property bool IntegralHeight { bool get(); void set(bool value); };
public bool IntegralHeight { get; set; }
member this.IntegralHeight : bool with get, set
Public Property IntegralHeight As Boolean
Значение свойства
true
, если элемент управления изменяет свои размеры, чтобы избежать частичного отображения позиций; в противном случае false
. Значение по умолчанию — true
.
Примеры
В следующем примере кода показано, как использовать HorizontalScrollbar свойства и HorizontalExtent для отображения горизонтальной полосы прокрутки, отображающей весь текст элемента в элементе ListBox управления . В примере также используется IntegralHeight свойство , чтобы гарантировать, что элементы не отображаются частично из-за размера ListBox элемента управления . В этом примере требуется, чтобы ListBox в форму был добавлен элемент управления с именем listBox1
.
private:
void DisplayHScroll()
{
// Make sure no items are displayed partially.
listBox1->IntegralHeight = true;
// Add items that are wide to the ListBox.
for ( int x = 0; x < 10; x++ )
{
listBox1->Items->Add( String::Format( "Item {0} is a very large value that requires scroll bars", x ) );
}
// Display a horizontal scroll bar.
listBox1->HorizontalScrollbar = true;
// Create a Graphics object to use when determining the size of the largest item in the ListBox.
Graphics^ g = listBox1->CreateGraphics();
// Determine the size for HorizontalExtent using the MeasureString method using the last item in the list.
int hzSize = (int)g->MeasureString( dynamic_cast<String^>(listBox1->Items[ listBox1->Items->Count - 1 ]), listBox1->Font ).Width;
// Set the HorizontalExtent property.
listBox1->HorizontalExtent = hzSize;
}
private void DisplayHScroll()
{
// Make sure no items are displayed partially.
listBox1.IntegralHeight = true;
// Add items that are wide to the ListBox.
for (int x = 0; x < 10; x++)
{
listBox1.Items.Add("Item " + x.ToString() + " is a very large value that requires scroll bars");
}
// Display a horizontal scroll bar.
listBox1.HorizontalScrollbar = true;
// Create a Graphics object to use when determining the size of the largest item in the ListBox.
Graphics g = listBox1.CreateGraphics();
// Determine the size for HorizontalExtent using the MeasureString method using the last item in the list.
int hzSize = (int) g.MeasureString(listBox1.Items[listBox1.Items.Count -1].ToString(),listBox1.Font).Width;
// Set the HorizontalExtent property.
listBox1.HorizontalExtent = hzSize;
}
Private Sub DisplayHScroll()
' Make sure no items are displayed partially.
listBox1.IntegralHeight = True
Dim x As Integer
' Add items that are wide to the ListBox.
For x = 0 To 10
listBox1.Items.Add("Item " + x.ToString() + " is a very large value that requires scroll bars")
Next x
' Display a horizontal scroll bar.
listBox1.HorizontalScrollbar = True
' Create a Graphics object to use when determining the size of the largest item in the ListBox.
Dim g As System.Drawing.Graphics = listBox1.CreateGraphics()
' Determine the size for HorizontalExtent using the MeasureString method using the last item in the list.
Dim hzSize As Integer = g.MeasureString(listBox1.Items(listBox1.Items.Count - 1).ToString(), listBox1.Font).Width
' Set the HorizontalExtent property.
listBox1.HorizontalExtent = hzSize
End Sub
Комментарии
Если для этого свойства задано значение true
, элемент управления автоматически изменяет размер элемента, чтобы гарантировать, что элемент не отображается частично. Если вы хотите сохранить исходный размер в зависимости от требований к пространству ListBox формы, задайте для этого свойства значение false
.
По умолчанию ListBox размеры и CheckedListBox имеют такие размеры, что отображаются только целые элементы. Если вы хотитеListBox, чтобы или CheckedListBox полностью заполнили закрепленную область, задайте для false
значение IntegralHeight . Это приводит к тому, что элемент управления полностью заполняет область, но последний элемент отображается не полностью.
ListBox Если не содержит элементов, это свойство не оказывает никакого влияния.
Примечание
Целочисленная высота зависит от высоты ListBox, а не от высоты клиентской области. В результате, если IntegralHeight свойство задано true
, элементы по-прежнему могут быть частично показаны при отображении полос прокрутки.
Примечание
Если свойству DrawMode присвоено значение DrawMode.OwnerDrawVariable
, это свойство не оказывает никакого влияния.