いまスタイルがドロップダウンリストのコンボボックスにテキストを
設定しようとしているのですが、ヘルプを見るとできないようです。
しかし、いくつかコンボボックスが並んでいて、
順番にテキストを設定するコードを書いたのですが、
一番最初の一文
Combo1.Text = <文字列>
は設定できます。しかし直後の
Combo2.Text = <文字列>
は設定できません。
スタイルプロパティはドロップダウンリストで一緒です。
何故このような現象が起こるのでしょうか?
Combo2 のリストの中に、
Text プロパティで設定しようとしている文字列が
ないのでは?
With Combo1
.Clear
.AddItem "AAA"
.AddItem "BBB"
.AddItem "CCC"
.Text = "AAA"
End With
は大丈夫ですが、
With Combo2
.Clear
.AddItem "AAA"
.AddItem "BBB"
.AddItem "CCC"
.Text = "DDD"
End With
はエラーになります。
ドロップダウン リストは、リスト内にある物しか選択できません。
なので、Combo2.Text="BBB"とかは出来ますが、
"DDD"はリスト内に無いので選択できません。
ドロップダウン リスト。このスタイルでは、ユーザーはドロップダウン リストからの項目の選択だけができます。
ヘルプ引用
VB6 SP5 で色々プログラムしていますが、問題の症状は起きません。
コンボボックスのリストに無い値でも .Text に代入可能です。
私の場合、リストに項目をセットする場合、通常は
.addItem ではなく
.List を使っています。
例えば
With Combo3
.Clear
.List(0) = "AAA"
.List(1) = "BBB"
.List(2) = "CCC"
.Text = "DDD"
End With
とするとどうでしょう?。
問題は、コンボボックスへのデータセット以外にあるような気がします。
> VB6 SP5 で色々プログラムしていますが、問題の症状は起きません。
s-Kenさん、そのコンボのStyleプロパティってドロップダウンコンボのままでしょ?
ドロップダウンリストにしてたら絶対エラー出るよ。
ちなみにくろねずさんへの回答はokuさんと同意見です。
コンボのリスト内にあるものをTextプロパティで指定した場合は大丈夫ですが、
リスト内にないものをTextプロパティで指定することは出来ません。
おっしゃる通りちょっとした勘違いでリストにないものを
Textに設定しようとしてエラーがでていました。
訂正し無事に解決することができました。
みなさん有り難うございました。
ツイート | ![]() |