我用 VB.NET 和 Visual Studio 2005 创建了一个数据源。我将数据源拖到我的对话框上,VS 用我的链接对象 aSystem.Windows.Forms.BindingSource
和 a的成员创建了文本框System.Windows.Forms.BindingNavigator
。
我填充了 List(称为 myList),将 myList 设置为 BindingSource 中的 DataSource,除了我希望它是只读的这一事实之外,一切都很顺利。如果用户在其中一个文本框中更改了某些内容,它会保存更改。
我尝试创建一个只读集合来绑定到 BindingSource,但这并没有解决问题:
Dim detailsDlg As New dlgMyDetails
Dim readOnlyList As New ReadOnlyCollection(Of MyObjects)(myList)
detailsDlg.MyBindingSource.DataSource = readOnlyList
detailsDlg.ShowDialog()
我想我可以禁用所有的文本框,但这似乎有点笨拙,而且我可能想更改字体颜色以便更容易阅读。
理想情况下,我可能不在乎用户是否能够将焦点设置到文本框,甚至编辑内容,但我只是不希望任何更改持续存在。也就是说,如果有人编辑了某些东西,使用导航器转到下一条记录,然后返回,我希望它在用户使用它之前保持原样。
有什么建议/指导吗?
提前致谢!