- ベストアンサー
コンボボックスを読み取り専用にするには
VB2005です。 コンボボックスを読み取り専用にしたいのですが、 TextBoxにはReadOnly=Trueにすれば読み取り専用になりますが ComboBoxを読み取り専用にしたい場合は、どうしたらよいのでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
「ある値以外を選択できないようにしたい」というだけなら、 一度コンボボックスのItemをクリアーして、選択させたい値のみをAddしてみるとか。 ComboBox1.Items.Clear() ComboBox1.Items.Add("aaa") ComboBox1.SelectedIndex = 0
その他の回答 (4)
- rics
- ベストアンサー率0% (0/1)
すみません、Visibleの間違いです(^^;) それと質問の主旨(コンボを読み取り専用に)とは外れてしまってますね。すみません。
お礼
ありがとうございます。 その方法でも良いですね。 再選択できないのだから、ラベルに値をいれても いいんですね。 参考にいたします。
- rics
- ベストアンサー率0% (0/1)
それならコンボを使わないとだめですか? 表示制御が必要になりますが、コンボの上にラベルを重ねて表示させてEnableを切り替えたらどうでしょう? 私は修正時の固定項目は、ラベルを使うようにしてます。
- KG_
- ベストアンサー率62% (34/54)
DropDownStyleプロパティを「DropDownList」にするとか。
お礼
現在もテキスト入力を受け付けないDropDownListになっているのですが、 リスト内でも場合によっては今選択されている値から変更されたくないのです。
- himajin100000
- ベストアンサー率54% (1660/3060)
デフォルトでは存在しないので 作って使う! (英語わかんなくてもソース読めればOK!C#だがVB.NETでもほぼ一緒だろう) http://www.codeproject.com/cs/combobox/csReadonlyComboBox.asp #でもどんな局面でこんなのが必要なのかよくわからん。 #もしよければ補足で説明してくれないか?
お礼
C#はわからないのですが、やってみます。 ありがとうございました。
補足
早速の回答、ありがとうございます。 新規登録の場合は、コンボボックスより選択なのですが、 変更登録の場合は、その値は変更したくないのです。 ですが、Enable=falseにしてしまうと、 グレーアウトされてしまって見づらいのです。 なので、読み取り専用にしたかったのです。
お礼
ありがとうございます。 その値のみ再設定すれば良いのですね。