• ベストアンサー

チェックリストボックスの見える値と取れる値

VB2008で開発しています。 チェックリストボックスに表示させている値は名前で チェックが入ったときに取得したい値はコードです。 どうセットすると実現できるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

リスト項目の表示名 = 項目のオブジェクトのToString これを利用して、次のような構造体(あるいはクラス)を作ってリストに放り込む方法があります。 Private Structure CustomListItem Public Caption As String Public Code As String Public Sub New(ByVal InitCaption As String, ByVal InitCode As String) Me.Caption = InitCaption Me.Code = InitCode End Sub Public Overrides Function ToString() As String ' Captionを項目の表示名とする Return Me.Caption End Function End Structure リスト作成とチェックされた項目のコードの取り出しはこんな感じです。 Private Sub CreateList() CheckedListBox1.Items.Add(New CustomListItem("項目1", "1111"), False) CheckedListBox1.Items.Add(New CustomListItem("項目2", "2222"), False) CheckedListBox1.Items.Add(New CustomListItem("項目3", "3333"), False) CheckedListBox1.Items.Add(New CustomListItem("項目4", "4444"), False) End Sub Private Sub GetCheckedItems() For Each objEnum As Object In CheckedListBox1.CheckedItems Console.WriteLine(CType(objEnum, CustomListItem).Code) Next End Sub ListBox/CheckedListBox/ComboBox等は全てこの方法で各項目に固有データを与えることが出来ます。

taku_pon
質問者

お礼

ありがとうございます。 勉強になりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#187541
noname#187541
回答No.2

こんにちは。 CheckedListBoxは#1さんの方法で出来るので別の方法です。 ChecedListBoxの代わりにListViewを使う方法です。 ListViewでもチェックボックスの表示が出来、SubItemを追加することにより複数の値を格納できます。 参考にどうぞ。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • コンボボックスかリストボックスの使い方

    VB2008でプログラミングしています。 コードと値がセットになっているDBからデータを取得して フォームに表示させるように作成しています。 フォームに表示するのは値で、実行ボタンを押したときには コードを取得したいのですが この場合は、コンボボックスでしょうか?リストボックスでしょうか? 複数選択はできません。 選ばれたコードを元にDBを検索するプログラムが実行されます。

  • Accessでチェックリストボックスを作るには?

    Accessでチェックリストボックスを作る方法を教えてください。 ネットで調べましたが itemcontainerstyleプロパティをつくるコードをどこに書けばいいかも分かりません。 親切なかた丁寧に教えてくれる方 よろしくお願いします。

  • テキストボックスの値をコンボボックスの選択値によって動的に変化させたい(VB.NET)

    こんにちは。 VB.NET2003 を使用し、小さなシステムを開発中です。 例として、コンボボックスにて「社員ID」を選択すると、その隣のテキストボックスには「鈴木 一郎」というように氏名を表示させることを考えております。 そこで、一度表示された後でも、コンボボックスの値を変化させるとそれに応じてテキストボックスの値も変更させたいのですが、どのようにしたらいいのでしょうか。 コンボボックスへの値を入れ、テキストボックスへの表示させるところまではできたのですが、一度表示された後は変化しなくて・・・。 ちなみに、それらの値の取得はDataSetを使用しています。 どなたか方法をご存知の方、教えていただけませんでしょうか。

  • コンボボックスにて複数列の値を使う方法

    VB.NET2008にて開発中です。 下記のように、コンボボックスのDataSourceにデータベースから取得した3列のDataTableを設定した場合、3列目の値を取得する方法を教えてください。  ComboBox.DataSource = DataTable  ComboBox.DisplayMember = "1列目"  ComboBox.ValueMember = "2列目"  1列目の取得・・・ComboBox.SelectedValue  2列目の取得・・・ComboBox.Text  3列目の取得・・・ComboBox.??? 表示の必要は無く、コンボボックスで選択したアイテムに関連する値を使いたいだけです。 よろしくお願いします。

  • コンボボックスに関して

    開発環境:VB2008 教えて下さい。 コンボボックスを使用し、値を表示させ、選択されたらその選択された値を取得するという ような簡単なプログラムを作成していますが、列が複数列(2列)存在し、画面表示はそのうちの1列とし、 ある項目が選択された場合、その選択された値に対応するもう1列のコード取得するような場合は どのような記述をすれば良いでしょうか、、、 《例》 CMB_在庫管理.Items.Add("する") ・・・ コードとしては”0” CMB_在庫管理.Items.Add("しない") ・・・ コードとしては”1” 画面上には、する/しない という区分が現れ、するが選択された場合、0を取得し、 しないと選択された場合は1というコードを取得したい。  SelectedItemや、SelectedIndexで、値そのものや、何番目かという情報は取得できますが、  選択された値に対するコードを取得するには、、、 そもそも上記のような考え方は可能なのでしょうか、、、 初歩的な質問で申し訳ありませんが、教えて下さい。 よろしくお願いします。

  • コンボボックスにつきまして

    JComboBoxを使って、コンボボックスを作成したいのすが、 表示は名称で、実際の値取得はコードで取りたいのですが、 可能でしょうか? 例えば、 コード  名称 001   りんご 002   ぶどう 003   パイン というデータをセットし、 コンボボックスのドロップダウンでは「りんご」を選択したときには、 「001」という値を取得したいのです。 よろしくお願いします。

    • ベストアンサー
    • Java
  • VB6.0 リストボックスやコンボボックスについて

    環境VB6.0、WinXPです。 現在VB6.0について、独学で学んでいます。 インターネットにて下記のサイトを見つけました。 http://www4.plala.or.jp/tamo/vb/vb99.html このサイトの課題5と6でつまづいています。 5に関しては、文字を分割して表示するプログラムなのですが、毎回違う値が入ってくることを想定すると、どのようにして一文字ずつリストボックスに表示すれば良いのか分かりません。 6に関しては、コンボボックスの全値を取得できるような方法があるのでしょうか? 初心者なので、コードなど参考になるものを教えていただければ幸いです。 どなたかご教授下さい。お願いいたします。

  • Excelでセルの値によりチェックボックスを操作

    EXCEL2007で作業しています。 シートにチェックボックスを配置しています。 ・セルA1の値が「あ」だったら チェックボックス1にチェックを入れる。 ・チェックボックス2にチェックが入っていたら オートシェイプ2を表示させる 上記2つを実現したいです。 どちらかひとつでもおしえていただければと思います。 よろしくお願いいたします!

  • strutsを使ってjavascriptの値で値を変えた後

    いつも大変助かっております。さっそくですが、質問です。 1.strutsを使って、JSPページにフォームでセットした値を取得 (コンボボックスの値) 2.JSPでフォームから取得しセットした値を表示させた後、その値をjavascriptで取得、値を編集 3.2で作られた値をJSPページに表示させる (コンボボックスの値) つまりは、コンボボックスの値を取得し、javascriptで編集した後、そのコンボボックスの値を編集した値に変えて表示したいのです。 2まではできたのですが、3ができません。。 どなたかご教授くださいませ。 よろしくお願いします。

  • チェックリストボックスで背景色を行単位で設定する方法

    初めて質問させて頂きます。 VB.NETの質問です。 下記のサイトで、リストボックスで背景色を行単位で設定する方法については見つけたのですが、 チェックリストボックスでは上手く設定する事ができません。 http://hanatyan.sakura.ne.jp/dotnet/list09.htm チェックリストボックスで背景色を行単位で設定する方法について、ご存知の方がいらっしゃいましたら教えて頂けないでしょうか? 宜しくお願いします。

このQ&Aのポイント
  • Brotherユーティリティを使用している際に、MFC-J6983CDWプリンタが認識されない問題について相談です。
  • ADSLからeo光に変更し、無線LANの設定をし直した後、PC-FAXが動作せず、Brotherユーティリティを再インストールしましたが、プリンタが認識されません。
  • Windows10環境で無線LAN接続しているMFC-J6983CDWプリンタが、Brotherユーティリティで認識されず、PC-FAXや印刷ができない状態です。
回答を見る