UpDownBase.ReadOnly 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个值,该值指示是否只能使用向上或向下按钮更改文本。
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的一些属性。 此代码要求你有一个控件、两ComboBox个控件和三CheckBox个NumericUpDown在窗体上创建的控件。 标记 ComboBox 控件 BorderStyle 和 TextAlign。 标记 CheckBox 控件 InterceptArrowKeys, ReadOnly以及 UpDownAlign。 代码允许在运行时更改属性值,并查看每个属性值如何影响旋转框的外观和行为。 将以下项添加到标记为 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
注解
通过将属性true
设置为ReadOnly,无需对属性进行大量验证Text。 用户将被限制为使用向上和向下按钮来更改 Text 值。 它只允许他们选择指定的值。
备注
在派生类 DomainUpDown中,描述的行为略有不同。 设置为true
并按下键时ReadOnly,控件将选择集合中的第一个项,其中第一个字符与按下的键匹配。