如何在屏幕上更改后刷新页面上的组件

时间:2013-05-08 18:30:54

标签: c# events action tabcontrol

我有一个包含制表符控件的表单。一个选项卡有一个用户控件,另一个选项卡有不同的用户控件。第一个选项卡有一堆复选框。根据复选框的选择,另一个选项卡上的组合框将填充不同的数据。问题是,加载表单时都加载了用户控件,因此已经设置了组合框的数据。当其他选项卡上的选择发生变化时,我想重新加载组合框中的数据。我不知道如何实现这一点,因为我无法直接从另一个用户控件中调用方法。一位同事建议我研究一下活动动作。任何帮助或建议将不胜感激。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

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