掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
.NET(のコンボボックスのデータの持ち方について) (ID:81114)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ComboBox.Items.Addメソッドの引数が、String型ではなく、 Object型になっている事に、気づかれましたか? VB6では、StringのデータをItemで扱い、対応するLong値をItemDataで扱っていましたが、 System.Windows.Forms.ComboBox では、任意のオブジェクトを扱えるように設計されています。 そのため、ItemDataは不要なのです。 Friend Class PersonalInfo Public Code As Short Public Name As String Public Sub New(ByVal Code As Short, ByVal Name As String) Me.Code = Code Me.Name = Name End Sub Public Overrides Function ToString() As String Return Name End Function End Class Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load With Me.ComboBox1.Items .Add(New PersonalInfo(1, "コーラ")) .Add(New PersonalInfo(2, "コーヒー")) .Add(New PersonalInfo(3, "烏龍茶")) End With End Sub Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged Const MsgFmt As String = "商品コード:{0:000}" & vbCrLf & "商品名称:{1}" With DirectCast(Me.ComboBox1.SelectedItem, PersonalInfo) MessageBox.Show(String.Format(MsgFmt, .Code, .Name)) End With End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.