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

本文关键字:组件 刷新 屏幕 | 更新日期: 2023-09-27 18:12:36

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

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

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

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

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

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