【发布时间】:2018-09-24 22:25:47
【问题描述】:
我有一个文本框,我将 bindingsource 作为数据绑定添加到其中,然后我想获取 bindingsource 的名称,在下面的示例中,bindingsource 名称是“bindingSource1”。如何做到这一点?因为我有很多绑定源,有时我更改了文本框的数据绑定,所以我需要检查当前绑定到它的绑定源的名称。谢谢。
textBox1.DataBindings.Add("Text", bindingSource1, "Address", True)
【问题讨论】:
-
没有名称,在您的示例代码中,
bindingSource1将分配给可以接收任何Object的绑定的Binding.DataSource Property,因此它是对Object的引用。此属性是只读的,不能更改。您只能在控件中添加或删除Binding。要确定DataSource身份,您需要进行引用相等比较。 -
在这种情况下如何进行引用相等比较,你能告诉我示例代码吗?
-
@TnTinMn 好吧,
[Control].DataBindings[0].PropertyName将是“文本”,[Control].DataBindings[0].MemberInfo将是“地址”,[Control].DataBindings[0].BindingManagerBase.Current将是提供绑定的对象(基类)(“所有者”绑定的属性)。 -
非常感谢 cmets,这是我需要做的:如果 textBox1.DataBindings(0).DataSource Is bindingSource1 Then .... End If
-
@Bens 回答您自己的问题并接受它以将此问题标记为已回答,谢谢!
标签: vb.net bindingsource