【发布时间】:2011-11-12 23:34:15
【问题描述】:
这似乎是一件显而易见的事情,但我就是想不通。假设我有一个字符串列表。如何将它绑定到列表框,以便列表框随着列表数据的变化而更新?我正在使用 vb.net。
到目前为止,我已经尝试过了。我已经设法显示数据,但没有改变它:
Public Class Form1
Private mycountries As New List(Of String)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
mycountries.Add("Norway")
mycountries.Add("Sweden")
mycountries.Add("France")
mycountries.Add("Italy")
mycountries.Sort()
ListBox1.DataSource = mycountries 'this works fine
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
mycountries.RemoveAt(0)
ListBox1.DataSource = mycountries 'this does not update
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
MsgBox(mycountries(0))
End Sub
End Class
我也试过这个:
ListBox1.DataBindings.Add("items", mycountries, "Item")
但是 items 是只读的,所以它不起作用。
另外,如果我想将按钮的启用属性绑定到布尔值,我该怎么做? 我已经尝试过了,但我不知道要为最后一个参数添加什么。
Dim b As Boolean = True
Button3.DataBindings.Add("Enabled", b, "")
【问题讨论】:
-
我猜你说的是winforms?
-
您似乎在使用 Windows 窗体。你考虑过WPF吗? stackoverflow.com/questions/4842138/…
-
是的,你是对的,Winforms。
-
101 表示介绍性。我不认为这是一件很难完成的事情,所以我把它做成了 Databinding 101
标签: .net vb.net winforms data-binding