web-dev-qa-db-ja.com

.NETでComboBoxを編集不可にするにはどうすればよいですか?

ユーザーが選択できるアイテムのリストを提供する「選択専用」ComboBoxが必要です。 ComboBoxコントロールのテキスト部分で入力を無効にする必要があります。

これについての最初のグーグル検索は、KeyPressイベントをキャプチャーするための過度に複雑で見当違いの提案を見つけました。

194

ComboBoxのテキスト部分を編集不可にするには、DropDownStyleプロパティを「DropDownList」に設定します。 ComboBoxは、基本的にユーザーに対して選択専用になりました。これは、Visual Studioデザイナー、または次のようなC#で実行できます。

stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList;

MSDNの ComboBox DropDownStyleプロパティ のドキュメントへのリンク。

359

Visual Studio GUIリファレンスを追加するには、選択したComboBoxのプロパティの下にDropDownStyleオプションがあります。

enter image description here

次のように、Form.Designer.cs InitializeComponent()の最初の回答に記載されている行が自動的に追加されます。

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

ComboBoxにとどまり、プロパティウィンドウからDropDropStyleプロパティを検索して、DropDownListを選択します。

30
LZara

COMBOBOXID.DropDownStyle = ComboBoxStyle.DropDownList;

2

選択後に入力にデータを表示し続けるには、次の操作を行います。

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