UpDownBase.ReadOnly 属性

获取或设置一个值,该值指示是否只能使用向上或向下按钮更改文本。

**命名空间:**System.Windows.Forms
**程序集:**System.Windows.Forms(在 system.windows.forms.dll 中)

语法

声明
Public Property ReadOnly As Boolean
用法
Dim instance As UpDownBase
Dim value As Boolean

value = instance.ReadOnly

instance.ReadOnly = value
public bool ReadOnly { get; set; }
public:
property bool ReadOnly {
    bool get ();
    void set (bool value);
}
/** @property */
public boolean get_ReadOnly ()

/** @property */
public void set_ReadOnly (boolean value)
public function get ReadOnly () : boolean

public function set ReadOnly (value : boolean)

属性值

如果只能使用向上或向下按钮更改文本,则为 true;否则为 false。默认值为 false

备注

通过将 ReadOnly 属性设置为 true,您就没有必要对 Text 属性执行大量验证操作了。用户将被限制为只能使用向上或向下按钮更改 Text 值。它将只允许用户选择您指定的值。

提示

在派生类 DomainUpDown 中,所描述的行为稍微不同。当 ReadOnly 设置为 true 并按下一个键后,该控件将选择集合中的第一项,其中的第一个字符与所按的键相匹配。

示例

下面的代码示例使用派生类 NumericUpDown,并设置它从 UpDownBase 派生的一些属性。此代码要求您在窗体上创建了一个 NumericUpDown 控件、两个 ComboBox 控件和三个 CheckBox 控件。标记 ComboBox 控件的 BorderStyleTextAlign。标记 CheckBox 控件的 InterceptArrowKeysReadOnlyUpDownAlign。该代码允许您在运行时更改属性值并了解每个值对数字显示框的外观与行为的影响。将下列各项添加到标记为“边框样式”的组合框中:NoneFixed3DFixedSingle。将下列各项添加到标记为“文本对齐方式”的组合框中:LeftRightCenter

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
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;
     }
 }
 
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.
        if (comboBox1.get_Text().Equals("Fixed3D")) {
            numericUpDown1.set_BorderStyle(BorderStyle.Fixed3D);
        }
        else {
            if (comboBox1.get_Text().Equals("None")) {
                numericUpDown1.set_BorderStyle(BorderStyle.None);
            }
            else {
                if (comboBox1.get_Text().Equals("FixedSingle")) {
                    numericUpDown1.set_BorderStyle(BorderStyle.FixedSingle);
                }
            }
        }        
    }//comboBox1_SelectedIndexChanged
    
    private void comboBox2_SelectedIndexChanged(Object sender, EventArgs e)
    {
        // Set the TextAlign property.    
        if (comboBox2.get_Text().Equals("Right")) {
            numericUpDown1.set_TextAlign(HorizontalAlignment.Right);
        }
        else {
            if (comboBox2.get_Text().Equals("Left")) {
                numericUpDown1.set_TextAlign(HorizontalAlignment.Left);
            }
            else {
                if (comboBox2.get_Text().Equals("Center")) {
                    numericUpDown1.set_TextAlign(HorizontalAlignment.Center);
                }
            }
        }
    } //comboBox2_SelectedIndexChanged

    private void checkBox1_Click(Object sender, EventArgs e)
    {
        // Evaluate and toggle the ReadOnly property.
        if (numericUpDown1.get_ReadOnly()) {
            numericUpDown1.set_ReadOnly(false);
        }
        else {
            numericUpDown1.set_ReadOnly(true);
        }
    } //checkBox1_Click

    private void checkBox2_Click(Object sender, EventArgs e)
    {
        // Evaluate and toggle the InterceptArrowKeys property.
        if (numericUpDown1.get_InterceptArrowKeys()) {
            numericUpDown1.set_InterceptArrowKeys(false);
        }
        else {
            numericUpDown1.set_InterceptArrowKeys(true);
        }
    } //checkBox2_Click

    private void checkBox3_Click(Object sender, EventArgs e)
    {
        // Evaluate and toggle the UpDownAlign property.
        if (numericUpDown1.get_UpDownAlign().Equals(LeftRightAlignment.Left)) {
            numericUpDown1.set_UpDownAlign(LeftRightAlignment.Right);
        }
        else {
            numericUpDown1.set_UpDownAlign(LeftRightAlignment.Left );
        }
    } //checkBox3_Click
} //Form1 

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

UpDownBase 类
UpDownBase 成员
System.Windows.Forms 命名空间
Text