- PR -

リストボックスのアイテム文字列の更新

1
投稿者投稿内容
うっど
会議室デビュー日: 2004/08/10
投稿数: 11
投稿日時: 2004-08-10 10:19
お世話になります。

リストボックスにはオブジェクトを格納でき、表示される文字列は
そのオブジェクトのToStringメソッドの戻り値だと聞いて
試してみたのですが・・・
確かに表示はされるのですが、値を変更したときにリストボックスの
アイテム文字列が更新されません。

どのようにしたら更新されるのでしょうか?

現状以下のコードを書いています。

Public Class MyFile
Public Name As String
Public Path As String

Public Overrides Function ToString() As String
Return Me.Path & "\\" & Me.Name
End Function

End Class


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim a As New MyFile
a.Path = "c:\\windows"
a.Name = "hoge.xls"
Me.ListBox1.Items.Add(a)
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a As MyFile = Me.ListBox1.Items(0)
a.Name = "test.xls"
Me.ListBox1.Refresh()
End Sub

Qoo
大ベテラン
会議室デビュー日: 2003/04/08
投稿数: 121
投稿日時: 2004-08-10 10:41
こんにちは。

Refresh() のところを、RefreshItem()を使う方法にするとどうなるでしょう?
うっど
会議室デビュー日: 2004/08/10
投稿数: 11
投稿日時: 2004-08-10 10:56
Qooさんこんにちは。
おかげさまでできました。
まさか、Protectedなメソッドにあるとは・・・(><
1

スキルアップ/キャリアアップ(JOB@IT)