
No.3ベストアンサー
- 回答日時:
>選択した店舗の店舗番号を取得したいんです。
MSDN のListBox のサンプルをComboBox にして今回の質問に合わせて修正したものを以下に挙げておきます。
コマンドプロンプトで
vbc sample.vb
sample
でそのまま実行して試してみることができます。
要点は、DataSource でArrayListをつないでおくということです。
DataSource を使うとSelectedValue で取り出せるので便利ですね。
でもまあ、
こんなふうにしなくても、別にArrayListで保持しているのがわかっていれば、index で対応付けをして取り出したり設定したりできます。
'---------------------------------------------------------------
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Collections
Public Class Store
Private aStoreName As String
Private aStoreNo As Integer
Public Sub New(ByVal name As String, ByVal no As Integer)
MyBase.New()
Me.aStoreName = name
Me.aStoreNo = no
End Sub
Public ReadOnly Property StoreName() As String
Get
Return aStoreName
End Get
End Property
Public ReadOnly Property StoreNo() As Integer
Get
Return aStoreNo
End Get
End Property
Public Overrides Function ToString() As String
Return Me.aStoreName & " - " & Me.aStoreNo
End Function
End Class
Public Class ComboBoxSample
Inherits Form
Friend WithEvents cmbStoreList As ComboBox = New ComboBox()
Dim textBox1 As TextBox = New TextBox()
<System.STAThreadAttribute()> _
Public Shared Sub Main()
System.Windows.Forms.Application.Run(New ComboBoxSample())
End Sub
Public Sub New()
Me.AutoScaleBaseSize = New Size(5, 13)
Me.ClientSize = New Size(292, 181)
Me.Text = "ComboBox Sample"
cmbStoreList.Location = New Point(24, 16)
cmbStoreList.Name = "cmbStoreList"
cmbStoreList.Size = New Size(232, 130)
textBox1.Location = New Point(24, 160)
textBox1.Name = "textBox1"
textBox1.Size = New Size(40, 24)
Me.Controls.AddRange(New Control() {cmbStoreList, textBox1})
Dim Stores As New ArrayList()
Stores.Add(New Store("A店", 15))
Stores.Add(New Store("B店", 20))
Stores.Add(New Store("C店", 45))
Stores.Add(New Store("BLUE店", 99))
cmbStoreList.DataSource = Stores
cmbStoreList.DisplayMember = "StoreName"
cmbStoreList.ValueMember = "StoreNo"
End Sub
Private Sub InitializeComponent()
End Sub
Private Sub cmbStoreList_SelectedValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbStoreList.SelectedValueChanged
If cmbStoreList.SelectedIndex <> -1 Then
textBox1.Text = cmbStoreList.SelectedValue.ToString()
End If
End Sub
End Class
No.2
- 回答日時:
>Valueではなくて、リスト名が変わってしまいました
もしかして、DataSource で設定してます?
ヘルプには、
DataSource プロパティを設定した場合、ユーザーは項目のコレクションを変更できません。
とありますので、
その場合、DataSource の元の方を変更しないとだめじゃないかな
またまた、勘違いしてたらごめんなさい。
どんな感じでやっているか補足してくれた方が、いいような気がします。
この回答への補足
ごめんなさい!一つ大きな勘違いをしていました!
リストボックスではなくてコンボボックスでした。
やりたいことを細かく説明すると、選択した店舗の店舗番号を取得したいんです。
コンボボックス(cmbStoreList)
表示:A店 Value:15(店舗番号15)
表示:B店 Value:20(店舗番号20)
初期設定関数
cmbStoreList.Items.Add("A店")
cmbStoreList.Items.Item(0) = 15
cmbStoreList.Items.Add("B店")
cmbStoreList.Items.Item(1) = 20
こうすると、コンボボックスの表示が「15」になってしまいます。
その後
処理関数
店舗番号格納変数=cmbStoreList.Items.Item(0)
処理
こんな感じですよろしくおねがいします!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
コロナでもインフルでもなかっ...
-
Excel 数値の前の「 ' 」を一括...
-
血液検査の結果が悪くefgrの値...
-
彼女のことが好きすぎて彼女の...
-
病院側から早く来てくださいと...
-
腕を見たら黄色くなってる部分...
-
VLOOKUP関数を使用時、検索する...
-
風俗店へ行く前のご飯
-
検便を取ったのですが、棒から...
-
リンク先のファイルを開かなく...
-
2つの数値のうち、数値が小さい...
-
EXCELで条件付き書式で空白セル...
-
エクセルのラベルの値(文字列...
-
MIN関数で空白セルを無視したい...
-
勃起する時って痛いんですか? ...
-
エクセルで空白セルを含む列の...
-
増減表のプラスマイナスの符号...
-
小数点以下を繰り上げたものを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
血小板増加について
-
彼女のことが好きすぎて彼女の...
-
Excel 数値の前の「 ' 」を一括...
-
病院側から早く来てくださいと...
-
VLOOKUP関数を使用時、検索する...
-
腕を見たら黄色くなってる部分...
-
値が入っているときだけ計算結...
-
リンク先のファイルを開かなく...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
小数点以下を繰り上げたものを...
-
一番多く表示のある値(文字列...
-
MIN関数で空白セルを無視したい...
-
勃起する時って痛いんですか? ...
-
エクセルで空白セルを含む列の...
-
増減表のプラスマイナスの符号...
-
【Excelで「正弦波」のグラフを...
-
エクセルで数式の答えを数値と...
おすすめ情報