0

我有一个包含选项卡控件的表单。一个选项卡具有一个用户控件,另一个选项卡具有不同的用户控件。第一个选项卡有一堆复选框。根据复选框的选择,另一个选项卡上的组合框会填充不同的数据。问题是,用户控件都是在加载表单时加载的,所以组合框的数据已经设置好了。当另一个选项卡上的选择发生变化时,我想重新加载组合框中的数据。我不确定如何做到这一点,因为我不能直接从另一个用户控件中调用一个方法。一位同事建议我研究事件操作。任何帮助或建议将不胜感激。

4

2 回答 2

0

“我不能直接从另一个用户控件中调用一个方法。”

是的……但是表单可以充当“中间人”。第一个 UserControl 可以引发第二个 UserControl 订阅的自定义事件。您可以在 Forms Load() 事件中手动连接它,因为 Form 引用了两个 UserControl。

于 2013-05-08T18:53:05.817 回答
0

您可以使用选项卡上的 Enter 事件并将刷新代码放在那里。这个解决方案并不完美,因为在您通过 TabControl“输入”它们之前页面不会刷新。

另一种选择是在每个页面内保留对 TabControl 的引用,并在数据更新时刷新侦听此数据的页面。

于 2013-05-08T18:39:04.613 回答