UpDownBase.ReadOnly Свойство
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает значение, указывающее, можно ли изменить текст, пользуясь только кнопками "СТРЕЛКА ВВЕРХ" и "СТРЕЛКА ВНИЗ".
public:
property bool ReadOnly { bool get(); void set(bool value); };
public bool ReadOnly { get; set; }
member this.ReadOnly : bool with get, set
Public Property ReadOnly As Boolean
Значение true
, если текст можно изменить, пользуясь лишь кнопками "СТРЕЛКА ВВЕРХ" и "СТРЕЛКА ВНИЗ"; в противном случае — значение false
. Значение по умолчанию — false
.
В следующем примере кода используется производный класс NumericUpDown и задаются некоторые его свойства, производные от UpDownBase. Этот код требует наличия NumericUpDown элемента управления, двух ComboBox элементов управления и трех CheckBox элементов управления, созданных в форме. ComboBox Пометка элементов управления BorderStyle и TextAlign. CheckBox Пометка элементов управления InterceptArrowKeysи UpDownAlignReadOnly. Код позволяет изменять значения свойств во время выполнения и видеть, как они влияют на внешний вид и поведение спин-поля. Добавьте следующие элементы в поле со списком с меткой BorderStyle: None
, Fixed3D
и FixedSingle
. Добавьте следующие элементы в поле со списком с меткой TextAlign: Left
, Right
и Center
.
void comboBox1_SelectedIndexChanged( Object^ sender, EventArgs^ e )
{
// Set the BorderStyle property.
if ( !String::Compare( comboBox1->Text, "Fixed3D" ) )
{
numericUpDown1->BorderStyle = System::Windows::Forms::BorderStyle::Fixed3D;
}
else
if ( !String::Compare( comboBox1->Text, "None" ) )
{
numericUpDown1->BorderStyle = System::Windows::Forms::BorderStyle::None;
}
else
if ( !String::Compare( comboBox1->Text, "FixedSingle" ) )
{
numericUpDown1->BorderStyle = System::Windows::Forms::BorderStyle::FixedSingle;
}
}
void comboBox2_SelectedIndexChanged( Object^ sender, EventArgs^ e )
{
// Set the TextAlign property.
if ( !String::Compare( comboBox2->Text, "Right" ) )
{
numericUpDown1->TextAlign = HorizontalAlignment::Right;
}
else
if ( !String::Compare( comboBox1->Text, "Left" ) )
{
numericUpDown1->TextAlign = HorizontalAlignment::Left;
}
else
if ( !String::Compare( comboBox1->Text, "Center" ) )
{
numericUpDown1->TextAlign = HorizontalAlignment::Center;
}
}
void checkBox1_Click( Object^ sender, EventArgs^ e )
{
// Evaluate and toggle the ReadOnly property.
if ( numericUpDown1->ReadOnly )
{
numericUpDown1->ReadOnly = false;
}
else
{
numericUpDown1->ReadOnly = true;
}
}
void checkBox2_Click( Object^ sender, EventArgs^ e )
{
// Evaluate and toggle the InterceptArrowKeys property.
if ( numericUpDown1->InterceptArrowKeys )
{
numericUpDown1->InterceptArrowKeys = false;
}
else
{
numericUpDown1->InterceptArrowKeys = true;
}
}
void checkBox3_Click( Object^ sender, EventArgs^ e )
{
// Evaluate and toggle the UpDownAlign property.
if ( numericUpDown1->UpDownAlign == LeftRightAlignment::Left )
{
numericUpDown1->UpDownAlign = LeftRightAlignment::Right;
}
else
{
numericUpDown1->UpDownAlign = LeftRightAlignment::Left;
}
}
private void comboBox1_SelectedIndexChanged(Object sender,
EventArgs e)
{
// Set the BorderStyle property.
switch(comboBox1.Text)
{
case "Fixed3D":
numericUpDown1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
break;
case "None":
numericUpDown1.BorderStyle = System.Windows.Forms.BorderStyle.None;
break;
case "FixedSingle":
numericUpDown1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
break;
}
}
private void comboBox2_SelectedIndexChanged(Object sender,
EventArgs e)
{
// Set the TextAlign property.
switch (comboBox2.Text)
{
case "Right":
numericUpDown1.TextAlign = HorizontalAlignment.Right;
break;
case "Left":
numericUpDown1.TextAlign = HorizontalAlignment.Left;
break;
case "Center":
numericUpDown1.TextAlign = HorizontalAlignment.Center;
break;
}
}
private void checkBox1_Click(Object sender,
EventArgs e)
{
// Evaluate and toggle the ReadOnly property.
if (numericUpDown1.ReadOnly)
{
numericUpDown1.ReadOnly = false;
}
else
{
numericUpDown1.ReadOnly = true;
}
}
private void checkBox2_Click(Object sender,
EventArgs e)
{
// Evaluate and toggle the InterceptArrowKeys property.
if (numericUpDown1.InterceptArrowKeys)
{
numericUpDown1.InterceptArrowKeys = false;
}
else
{
numericUpDown1.InterceptArrowKeys = true;
}
}
private void checkBox3_Click(Object sender,
EventArgs e)
{
// Evaluate and toggle the UpDownAlign property.
if (numericUpDown1.UpDownAlign == LeftRightAlignment.Left)
{
numericUpDown1.UpDownAlign = LeftRightAlignment.Right;
}
else
{
numericUpDown1.UpDownAlign = LeftRightAlignment.Left;
}
}
Private Sub comboBox1_SelectedIndexChanged(sender As Object, e As EventArgs)
' Set the BorderStyle property.
Select Case comboBox1.Text
Case "Fixed3D"
numericUpDown1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
Case "None"
numericUpDown1.BorderStyle = System.Windows.Forms.BorderStyle.None
Case "FixedSingle"
numericUpDown1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
End Select
End Sub
Private Sub comboBox2_SelectedIndexChanged(sender As Object, e As EventArgs)
' Set the TextAlign property.
Select Case comboBox2.Text
Case "Right"
numericUpDown1.TextAlign = HorizontalAlignment.Right
Case "Left"
numericUpDown1.TextAlign = HorizontalAlignment.Left
Case "Center"
numericUpDown1.TextAlign = HorizontalAlignment.Center
End Select
End Sub
Private Sub checkBox1_Click(sender As Object, e As EventArgs)
' Evaluate and toggle the ReadOnly property.
If numericUpDown1.ReadOnly Then
numericUpDown1.ReadOnly = False
Else
numericUpDown1.ReadOnly = True
End If
End Sub
Private Sub checkBox2_Click(sender As Object, e As EventArgs)
' Evaluate and toggle the InterceptArrowKeys property.
If numericUpDown1.InterceptArrowKeys Then
numericUpDown1.InterceptArrowKeys = False
Else
numericUpDown1.InterceptArrowKeys = True
End If
End Sub
Private Sub checkBox3_Click(sender As Object, e As EventArgs)
' Evaluate and toggle the UpDownAlign property.
If numericUpDown1.UpDownAlign = LeftRightAlignment.Left Then
numericUpDown1.UpDownAlign = LeftRightAlignment.Right
Else
numericUpDown1.UpDownAlign = LeftRightAlignment.Left
End If
End Sub
Задав ReadOnly для свойства true
значение, необходимо исключить необходимость многой Text проверки свойства. Пользователь будет ограничен использованием кнопок вверх и вниз для изменения значений Text . Это позволит им выбирать только указанные значения.
Примечание
В производном классе DomainUpDownописанное поведение немного отличается. Если ReadOnly задано true
значение и нажатие клавиши, элемент управления выбирает первый элемент в коллекции, где первый символ соответствует нажатию клавиши.
Продукт | Версии |
---|---|
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8 |
Windows Desktop | 3.0, 3.1, 5, 6, 7 |