Export (0) Print
Expand All

UpDownBase.ReadOnly Property

Gets or sets a value indicating whether the text can be changed by the use of the up or down buttons only.

[Visual Basic]
Public Property ReadOnly As Boolean
[C#]
public bool ReadOnly {get; set;}
[C++]
public: __property bool get_ReadOnly();
public: __property void set_ReadOnly(bool);
[JScript]
public function get ReadOnly() : Boolean;
public function set ReadOnly(Boolean);

Property Value

true if the text can be changed by the use of the up or down buttons only; otherwise, false. The default value is false.

Remarks

By setting the ReadOnly property to true, you will eliminate the need for much validation of the Text property. The user will be restricted to the use of the up and down buttons to change the Text values. It will only allow them to select values you specify.

Note   In the derived class DomainUpDown, the behavior described is slightly different. When ReadOnly is set to true and a key is pressed, the control selects the first item in the collection where the first character matches the key pressed.

Example

[Visual Basic, C#, C++] The following example uses the derived class, NumericUpDown, and sets some of its properties derived from UpDownBase. This code assumes you have a NumericUpDown control, two ComboBox controls, and three CheckBox controls created on a form. Label the ComboBox controls: BorderStyle and TextAlign. Label the CheckBox controls: InterceptArrowKeys, ReadOnly, and UpDownAlign - Left. The code allows you to change the property values at run time and see how each affects the appearance and behavior of the up-down control. Add the following items to the combo box labled BorderStyle: None, Fixed3D, and FixedSingle items. Add the following items to the combo box labled TextAlign: Left, Right, and Center items.

[Visual Basic] 
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


[C#] 
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;
     }
 }
 

[C++] 
private:
    void comboBox1_SelectedIndexChanged(Object *sender, EventArgs *e) {
        // Set the BorderStyle property.

        if (!String::Compare(comboBox1->Text, S"Fixed3D")) {
            numericUpDown1->BorderStyle = System::Windows::Forms::BorderStyle::Fixed3D;
        } else if (!String::Compare(comboBox1->Text, S"None")) {
            numericUpDown1->BorderStyle = System::Windows::Forms::BorderStyle::None;
        } else if (!String::Compare(comboBox1->Text, S"FixedSingle")) {
            numericUpDown1->BorderStyle = System::Windows::Forms::BorderStyle::FixedSingle;
        }
    };

    void comboBox2_SelectedIndexChanged(Object *sender, EventArgs *e) {
        // Set the TextAlign property.    
        
        if (!String::Compare(comboBox2->Text, S"Right")) {
            numericUpDown1->TextAlign = HorizontalAlignment::Right;
        } else if (!String::Compare(comboBox1->Text, S"Left")) {
            numericUpDown1->TextAlign = HorizontalAlignment::Left;
        } else if (!String::Compare(comboBox1->Text, S"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;
        }
    };

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

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

See Also

UpDownBase Class | UpDownBase Members | System.Windows.Forms Namespace | Text

Show:
© 2014 Microsoft