在用户控件之间传递变量

时间:2017-03-27 14:04:23

标签: c# winforms user-controls dataset

我是一个持有UserControl的Windowms表单。那么UserControl就像这样包含两个UserControls(所有使用面板作为容器):

          Main_Form
              | 
         UserControl_1
         |           |
UserControl_A      UserControl_B

现在UserControl_A修改DataRow中必须由DataSet显示的UserControl_BDataRow对于主键是唯一的,如果在UserControl_A中更改了行,则会更改。

我的问题是:有没有办法将数据行从UserControl_A传递到UserControl_B?我知道可以通过定义顶层DataRowMain_Form)来完成,这是我用DataSet完成的。但这真的是唯一的方法吗?

(我知道全局变量可能是一个选项,但对于一个简单的问题,这似乎相当激烈)。

  

其他详情

     

基本上我想做的是制作一个计算器,用于可定制的产品。 UserControl_A将持有控件以自定义产品,而UserControl_B将显示所选功能的概述以及价格计算。因此,当在UserControl_A中创建DataRow时,它需要UserControl_B可读。为什么我使用DataSet / DataRow而不是类?基本上这是由于我正在使用的团队的限制:-(。但是我不会在课堂上遇到同样的问题,还是有更聪明的方法来传递它?

1 个答案:

答案 0 :(得分:0)

可能不是最好的选择但是为什么不引用父级,将其转换为“UserControl_1”并使用getter这样的东西获取引用,无论你需要哪个UserControl。