2013-05-08 109 views
0

我有一个包含选项卡控件的窗体。一个选项卡具有一个用户控件,另一个具有不同的用户控件。第一个选项卡有一堆复选框。根据复选框的选择,另一个选项卡上的组合框将填充不同的数据。问题是,用户控件在载入表单时都被加载,所以组合框的数据已经设置好了。我想在其他选项卡上的选择更改时重新加载组合框中的数据。我不知道如何实现这一点,因为我不能直接从另一个用户控件中调用一个方法。一位同事建议我看看活动行动。任何帮助或建议,将不胜感激。如何在页面上更改页面后刷新组件

回答

0

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

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

0

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

确实......但表格可以充当“中间人”。第一个UserControl可以引发第二个UserControl订阅的自定义事件。您可以手动将它连接到Forms Load()事件中,因为Form对两个UserControl都有引用。