web-dev-qa-db-ja.com

WinFormsの読み取り専用ComboBox

DesignerとWinFormsを使用して、C#、Visual Studio2008でGUIを作成しています。 ComboBoxコントロールがあり、提供されたオプションからのみ選択できるようにし、ユーザーが入力した文字列を受け入れないようにしたいのですが。 ReadOnlyプロパティがないようであり、無効にすると、コントロールの可読性が妨げられます(また、ユーザーによる選択ができなくなります)。

23
Brock Greman

DropDownStyleを「DropDownList」に設定します

55
Phillip Wells

ComboBox.DropDownStyleプロパティをComboBoxStyle.DropDownListに設定します。

7
OregonGhost

それについて行くもう一つの簡単な方法。

private void combobox1_KeyPress(object sender, KeyPressEventArgs e)
{
    e.Handled = true;
}
3
Isuru

次のようなコードを使用して、許可されるオプションとそれらのオプションのみを設定します。

comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
comboBox1.Items.AddRange(new object[] {
    "One",
    "Two",
    "Three",
    "Four"});
2
David Max

DropDownListboxを使用してみてください

1
Mauro

私の要件: ユーザーがコンボボックスを介して入力を行うと、送信する前に値を変更することはできません。彼らはその値だけを読むことができます。

私の要件に従って、私は次のことをします。

1) コンボボックスを介してユーザーから入力を取得します。
2) コンボボックスの値をテキストボックス(読み取り専用で非表示)にコピーします。
3) コンボボックスの可視性を誤ります。
4) 読み取り専用テキストボックスの可視性を真にします。

イベントでこれを行います。

0
Jay Sedani