2012-07-25 41 views
0

我正在为.net BindingSource对象创建一个Extension方法。目前该方法需要通过一个Control(此Control是“主”Control,通常是UserControlForm)。C#从BindingSource扩展方法中获取父控件(UserControl或Form)

我想永远不用通过这个“父母”Control英寸。有没有办法找到BindingSource父母Control?我知道有一个Container但这并没有帮助我,或者至少我不认为它确实如此。

目前你调用像下面这种方法(C#UserControl):

//'new Object()' would be the data source 
BindingSourceControlName.ExtMethodName(This, new Object()); 

我想从BindingSource所以动态获取父Control,我可以打电话给像下面的方法(C#UserControl):

//'new Object()' would be the data source 
BindingSourceControlName.ExtMethodName(new Object()); 

这是甚至可能的,也许使用反射?感谢您的阅读!

+0

你是否自己实例化BindinSource(将其分配给BindingSourceControlName),还是使用Designer来创建绑定源? – 2012-07-31 16:46:29

+0

使用设计器拖放BindingSource。 – 2012-07-31 16:58:47

回答

1

BindingSource没有“父”控件。实际上,BindingSource不受任何约束,就像一个控件。它是数据源,用于数据绑定。它可以被许多目标绑定到。与BindingSource绑定的内容定义在包含在绑定控件的DataBindings属性中的Binding对象中。

即你正在错误的方向看它。您可以找到特定控件的数据绑定,但无法从BindingSource中找到该信息。

也许如果你描述你想要做什么,有人可以提供一些细节。