2012-07-25 96 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中找到該信息。

也許如果你描述你想要做什麼,有人可以提供一些細節。