您的问题是How To Refresh User Control From Another Form In WinForms Using C#。您的问题中缺少调试细节。不过,一种方法的一般答案是让请求窗体在需要刷新时激发事件。 下面是一个MainForm的最小示例,它具有一个[Refresh]按钮来测试触发此事件。主窗体还创建托管UserControl的第二个窗体。
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
buttonRefresh.Click += onClickButtonRefresh;
ucHost = new UserControlHostForm(this);
}
UserControlHostForm ucHost;
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
ucHost.StartPosition = FormStartPosition.Manual;
ucHost.Location = new Point(Location.X + Width + 10, Location.Y);
ucHost.Show();
}
private void onClickButtonRefresh(object? sender, EventArgs e)
{
RefreshNeeded?.Invoke(this, EventArgs.Empty);
}
public event EventHandler? RefreshNeeded;
}
1条答案
按热度按时间z0qdvdin1#
您的问题是How To Refresh User Control From Another Form In WinForms Using C#。您的问题中缺少调试细节。不过,一种方法的一般答案是让请求窗体在需要刷新时激发事件。
下面是一个
MainForm
的最小示例,它具有一个[Refresh]按钮来测试触发此事件。主窗体还创建托管UserControl
的第二个窗体。第二个窗体在其构造函数方法中订阅主窗体事件,并调用
myUserControl.Refresh()
作为响应。定制的
UserControl
以特定于应用程序的方式实现Control.Refresh()
方法,例如通过调用load()。