it-swarm-tr.com

ComboBox'ı .NET'te düzenlenemez hale nasıl getirebilirim?

Kullanıcının seçebileceği bir öğe listesi sağlayan "sadece seç" ComboBox olmasını istiyorum. Yazma ComboBox kontrolünün metin kısmında devre dışı bırakılmalıdır.

Bunun ilk kargaşası, KeyPress olayını yakalamak için aşırı karmaşık, yanlış yönlendirilmiş bir öneri haline geldi.

194
Cory Engebretson

Bir ComboBox'ın metin bölümünü düzenlenemez hale getirmek için, DropDownStyle özelliğini "DropDownList" olarak ayarlayın. ComboBox şimdi sadece kullanıcı için sadece bir seçimdir. Bunu Visual Studio tasarımcısında veya C #'da şöyle yapabilirsiniz:

stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList;

MSDN'deki ComboBox DropDownStyle özelliği belgelerine bağlantı verin.

360
Cory Engebretson

Bir Visual Studio GUI referansı eklemek için, seçilen ComboBox'ın Özellikleri altındaki DropDownStyle seçeneklerini bulabilirsiniz:

enter image description here

İlk cevapta belirtilen satırı otomatik olarak Form.Designer.cs InitializeComponent() öğesine ekler:

this.comboBoxBatch.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
62
invertigo

ComboBox'ınızda kalın ve özellikler penceresinden DropDropStyle özelliğini arayın ve ardından DropDownList öğesini seçin.

30
LZara

COMBOBOXID.DropDownStyle = ComboBoxStyle.DropDownList;

2

Seçimden sonra girişteki verileri görüntülemeye devam etmek için şunu yapın:

VB.NET
Private Sub ComboBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ComboBox1.KeyPress
    e.Handled = True
End Sub



C#
Private void ComboBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    e.Handled = true;
}
1
Diogo Rodrigues