コンボボックスとキャプション

タグの編集
投稿者 パテ@初心  () 投稿日時 2008/7/24 07:02:00
こんばんは。 
ちょっとコンボボックスについてお聞きしたい事が在ります。 
 
Private Sub Form_Load() 
 'コンボボックスリスト 
   Combo1.AddItem "NTT" 
     
ロードのこの時に"Caption"を使い、Labelに表示させたいのですが、上記プログラムを以下のように変えて見たのですがうまくいきません。 
 
Private Sub Form_Load() 
 'コンボボックスリスト 
   Combo1.AddItem "NTT" Label.Caption="日本電信電話" 
 
LabelにNTTを選択時に"日本電信電話" と表示したいのですが、上記で無理だったので何かいい方法があればご教授お願いします<(_ _)>
投稿者 うたひこ  () 投稿日時 2008/7/24 10:07:00
こんばんは。 
 
 
 
Captionというプロパティ、そして Private Sub Form_Load()を使われていることから、VB6をご利用のことと思います。まずはバージョンを書くようにしましょう。 
 
VB6は使ったことがないですが、見当がつくのでお答えします。 
 
> ロードのこの時に"Caption"を使い、Labelに表示させたいのですが、上記プログラムを以下のように変えて見たのですがうまくいきません。 
>  
> Private Sub Form_Load() 
>  'コンボボックスリスト 
>    Combo1.AddItem "NTT" Label.Caption="日本電信電話" 
>  
> LabelにNTTを選択時に"日本電信電話" と表示したいのですが、上記で無理だったので何かいい方法があればご教授お願いします<(_ _)> 
 
Labelをコンボのプロパティと勘違いされているか、もしくはインスタンス化をご存知ないのだと思います。 
 
Combo1.Caption="日本電信電話" 
 
がお望みの動作ではないでしょうか?
投稿者 よねKEN  () 投稿日時 2008/7/24 18:26:00
#以下は、バージョンがVB6であるという前提での回答です。 
 
> LabelにNTTを選択時に"日本電信電話" と表示したいのですが、 
> 上記で無理だったので何かいい方法があればご教授お願いします<(_ _)>  
 
Combo1というコンボボックスとLabelというラベルが 
画面上に配置されているという認識であってますか? 
 
ComboBoxのアイテムを選択したタイミングで処理したいのであれば、 
ComboBoxのClickイベントで処理すればよいと思います。 
 
例えば、Clickイベントの中で、 
 
If Combo1.Text = "NTT" Then 
    Label.Caption="日本電信電話"  
End If 
 
のようにすれば実現できると思います。 
ただ、このように実装するとClickイベントの中で、 
Combo1のアイテムの名称とそれに対する正式名称(?)との紐付けを 
コーディングすることになるため、あまりいい方法ではありませんので、 
必要であれば、"NTT"と"日本電信電話"のような対応付けを 
このようにべたにコーディングしないで済む方法について考えてみてください。
投稿者 ハ゜テ@初心  () 投稿日時 2008/7/25 04:16:00
うたひこさん、よねKENさん返信ありがとうございます。 
 
うたひこさん 
VB6です。最初にいってなくてすいません>< 
 
Combo1.Caption="日本電信電話" 
では無くて、コンボボックスと連動?する形で 
例えば、 
_______________ 
NTT 
 ・ 
 ・ 
 ・ 
________________ 
※上記はコンボボックスの中ということで。 
 
コンボボックス内のNTTを選択した時に 
___________ 
NTT 
___________ 
 
 
^^^^^^^^^^^ 
日本電信電話 
^^^^^^^^^^^^ 
^枠はラベル内と思って下さい。 
NTTを選択したと同時にラベル内に"日本電信電話"と表示したいのです。 
ちょっと説明下手ですいません><聞いている本人がほとんどVB自体理解してないままきいているので。。 
 
よねKENさん 
Combo1というコンボボックスとLabelというラベルが  
画面上に配置されているという認識であってますか?  
>あってます。 
 
If Combo1.Text = "NTT" Then  
Label.Caption="日本電信電話"  
End If 
一度上記プログラムを参考に考えてみようと思います。 
 
何分ほとんどわからないままソフト製作に挑戦してるもので。 以前ブラウザを作ったのですが、その時もアプリケーションウィザードでwwwブラウザを作って、中のプログラムをほとんどそのままま使い複数開くブラウザを作って見ました。  でも今回はなんとかサンプルとか無しに自分の力だけでやってたのですが今お聞きしているコンボボックスとキャプションで躓いて皆さんの力を借りてしまったわけです。。 ご迷惑おかけしてすいませんでした。  
それと、うたひこさんとよねKENさんには本当に感謝しています。深くお礼申し上げます。
投稿者 うたひこ  () 投稿日時 2008/7/25 04:56:00
>>3 
 
こちらこそテキトーなことをいってすみませんでした。 
 
 
>If Combo1.Text = "NTT" Then 
>Label.Caption="日本電信電話" 
>End If 
>一度上記プログラムを参考に考えてみようと思います。 
 
も大事ですが、 
 
>あまりいい方法ではありませんので、 
>必要であれば、"NTT"と"日本電信電話"のような対応付けを 
>このようにべたにコーディングしないで済む方法について考えてみてください。  
 
こちらについても考えてみてください。 
 
 
要は「配列やらクラスやら構造体やらデータテーブルやら」のことをよねKENさんはおっしゃってるんだと思います。 
 
これらが何に使われるものかチェックしておくと、後々の勉強に有利だと思います。