こんにちは良です。本当にいつもお世話になっております。
動作環境はWinXP VB.NET2003です。コンボボックスに
リストの値を設定したいのですがどうしたらいいでしょうか?
リストの値を取得するには
me.label1.text = me.combobox1.SelectedIndex
で出るんですが設定の仕方がうまくできません。
VB6.0ですと
me.combobox1.ItemData(Index) = 設定したい番号
でできるんですが・・・
ネットで調べたんですがなかなか回答が見つからなかったので
ご享受のほうよろしくお願いいたしますm(__)m
こんな感じ。。。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200508/05080010.txt
>特攻隊長まるるうさん
いつもありがとうございます!
別のクラスを用意してDirectCastかCtypeで型変換をして
そのクラスにデータを保持するんですね。
VB6.0よりVB.NETのほうが処理がややこしいですね。
いつもすみませんm(__)m
ありがとうございました!
>VB6.0よりVB.NETのほうが処理がややこしいですね。
そうですね(^^)
ただ、コンボボックスの過去ログではなく、リストボックスの
過去ログのリンクを貼ったのは、応用の可能性に気づいて
欲しかったからです。
クラスを用意するということは、そこに関数を自由に追加
できると言うことです。単純に対応するインデックスのみを
覚えるのなら、[VB6.0]の形の方が簡単で便利かもしれません。
しかし、複数の複雑なデータを扱いだすとクラスを登録
できる便利さが良く分かります。
しかも、他のコントロールにも、共通した概念で設計されて
いるものがあるので、他のコントロールに応用できたりも
します。
ま、覚えて損は無いテクニックです。頑張って自分のものに
してみてください。
こんばんは良です。
>特攻隊長まるるうさん
本当にいつもありがとうございます!
他のクラスにもってしまえばコンボボックスだけでなく
他のコントロールにも応用できるんですね!
頑張って習得したいと思います。
余談ですが型変換ってDirectCastとCtypeの2種類がありますが
ヘルプを見ますとCtypeのほうがDirectCastよりも変換の
幅が大きい(Ctypeでは多少型が違っていてもおおもとで
型があっていれば成功しますがDirectCastはまったく
型があっていないと型変換に成功しない)
けどDirectCastのほうが処理が少し早いみたいですし
ソースとしてもそちらのほうがスマートですよね?
>ソースとしてもそちらのほうがスマートですよね?
スマートって言われても何のことだか分かんない(‾△‾)
http://d.hatena.ne.jp/keyword/%A5%B9%A5%DE%A1%BC%A5%C8
http://glossary.tank.jp/t0BEC.html
例えば、
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200606/06060071.txt
…で書いた sample1 sample2 sample3 でスマートなのはどれ?
初心者は9分9厘 sample2 って答えるんじゃないの?
兎に角、コード量が少なければスマートなんだったら DirectCast より Ctype のほうが
コード上の文字数は少ないよ?w
いいコードは見た目にきれいで、簡潔な場合が多いという傾向はあると思う。
でも、見た目がきれいで簡潔だからって、いいコードとは限らない。
見た目にこだわるのにも意味はあるけど、それで目的の処理を十分に
果たせないのでは本末転倒。目的に合ってるか?中身が一番重要だと
思います。
・初心者は見た目しか分かりません。
・中級者は中身が一番重要だと思っています。
・上級者は見た目と中身が関係してることを知っています。
・それらを超越した、自分が重要だと思うことのみに執着するマニ○とかフェ△とか。。。
…恋愛の建て前と一緒だね(滅
# 現実はスイッチが入るか入らないかの違いな気がしますが。。。
マニアな人間に『スマートですよね?』の質問は愚問でしょう。
…そもそもの判断基準が違うからね?w
まぁ、まだ正常な世界に居る初心者へのアドバイスとしては
『中身を知って、より目的に合ってると思うほうを選んでみよう』
です。それが正解かどうかは10年後くらいに自分で判断して
ください。
DirectCast に関してはリンク先で解説してあるし、それが自分の
目的に合ってると思えば採用すれば良いでしょう。だからと言って
その内容がどんな条件においても正解とは限らないのです。通用しな
かったり、更にいいものに出会ったら、どうぞ乗り換えてくださいm(__)m
>型変換ってDirectCastとCtypeの2種類ありますが
ヘルプで型変換(キャスト)を調べれば、CInt CStr ...の『キャスト式』
ToString ToInt32 ...の『メソッド』など、それこそ無数にありますがw
# 言いたい事は十分伝わります。細かなつっこみですので無視して
# ください(^^)『型の変換』『明示的な変換』とかいうページもあるから、
# 幾つかのページには目を通してみてください。
こんばんは良です。
う〜んスマートって言う言葉の意味ってむずかしいですね。
というよりリンク先みましたがたくさん意味があるんですね。
コードに一番良い答えなんてないんですね。
確かに私はステップ数が少ないコードがスマートなコード
と思っていましたがそういうわけでもないんですね。
10年後ぐらいに自分がその答えを私自身みつけ出せればいいですね。
確かにCint CShort Cstr Tostring・・・・等のものも
型変換ですね。失礼いたしましたm(__)m
コードっておくが深いですね。いつか特攻隊長さんくらいの
スキルを身につけたいです。
ツイート | ![]() |