C# 如何从子winform刷新父winform?

C# 如何从子winform刷新父winform?,c#,.net,winforms,C#,.net,Winforms,父窗口窗体按钮鼠标移动事件正在正确进入子窗口窗体的状态栏标签。。。但与此相反的“不工作”意味着“子窗口窗体按钮鼠标移动事件未显示在父窗口窗体状态栏标签中,请帮助。” 一个好方法是在子类中使用事件: 首先,声明事件: public partial class ChildForm: Form { public event EventHandler ButtonClicked; public ChildForm() { Initi

父窗口窗体按钮鼠标移动事件正在正确进入子窗口窗体的状态栏标签。。。但与此相反的“不工作”意味着“子窗口窗体按钮鼠标移动事件未显示在父窗口窗体状态栏标签中,请帮助。”


一个好方法是在子类中使用事件:

首先,声明事件:

public partial class ChildForm: Form
{
        public event EventHandler ButtonClicked;
        public ChildForm()
        {
            InitializeComponent();
        }
}
然后在子窗体的按钮onClick方法中调用它:

public partial class YourChildForm : Form
{
   MainForm mf_ref
   public YourChildForm(MainForm mf)
   {
      InitializeComponent();
      mf_ref = mf;
   }
}

如果onclick事件是
按钮_onclick
,则它看起来像:

private void button_onclick(object sender, EventArgs e)
{
      ButtonClicked?.Invoke();      

}
从父窗体声明此子窗体时,将刷新登录添加到此事件:

var childForm = new ChildForm();
childForm.ButtonClicked += (e,args)=>{
//put the logic here
}
childForm.Show();

您可以使用如下引用:

   public partial class MainForm : Form
    {
    YourChildForm ycf = new YourChildForm(this);
    ycf.Show();
    }
以您的孩子的形式:

public partial class YourChildForm : Form
{
   MainForm mf_ref
   public YourChildForm(MainForm mf)
   {
      InitializeComponent();
      mf_ref = mf;
   }
}
现在,只需使用

mf_ref.SomeMethod();