UpDownBase.ReadOnly Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau mengatur nilai yang menunjukkan apakah teks hanya dapat diubah dengan menggunakan tombol atas atau bawah.
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
Nilai Properti
true jika teks hanya dapat diubah dengan menggunakan tombol atas atau bawah; jika tidak, false. Nilai defaultnya adalah false.
Contoh
Contoh kode berikut menggunakan kelas NumericUpDown turunan dan menetapkan beberapa propertinya yang berasal dari UpDownBase. Kode ini mengharuskan Anda memiliki NumericUpDown kontrol, dua ComboBox kontrol, dan tiga CheckBox kontrol yang dibuat pada formulir. Beri label ComboBox kontrol BorderStyle dan TextAlign. Beri label CheckBox kontrol InterceptArrowKeys, ReadOnly, dan UpDownAlign. Kode ini memungkinkan Anda mengubah nilai properti pada waktu proses dan melihat bagaimana masing-masing memengaruhi tampilan dan perilaku kotak putar. Tambahkan item berikut ke kotak kombo berlabel BorderStyle: None, , Fixed3Ddan FixedSingle. Tambahkan item berikut ke kotak kombo berlabel TextAlign: Left, Right, dan 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
Keterangan
Dengan mengatur ReadOnly properti ke true, Anda akan menghilangkan kebutuhan akan banyak validasi Text properti. Pengguna akan dibatasi untuk penggunaan tombol atas dan bawah untuk mengubah Text nilai. Ini hanya akan memungkinkan mereka untuk memilih nilai yang Anda tentukan.
Nota
Di kelas DomainUpDownturunan , perilaku yang dijelaskan sedikit berbeda. Ketika ReadOnly diatur ke true dan tombol ditekan, kontrol memilih item pertama dalam koleksi tempat karakter pertama cocok dengan tombol yang ditekan.