重新加载窗体而不关闭和重新打开

本文关键字:新打开 窗体 新加载 加载 | 更新日期: 2023-09-27 18:11:09

我有一个用c#编写的windows窗体应用程序。我想重新加载表单时,有人按下"清除"按钮在它。但是我无法实现调用Load事件。

  this.Refresh();
  this.Load +=new EventHandler(Grafik_Load); // 'Grafik' is the name of the form.

我该怎么办?

重新加载窗体而不关闭和重新打开

将'load'代码放在一个单独的函数中,并从您自己的code/load事件处理程序中调用该函数

        private void callonload()
        {
          //code which u wrriten on load event
        }
        private void Form_Load(object sender, EventArgs e)
        {
          callonload();
        }
        private void btn_clear_Click(object sender, EventArgs e)
        {
          callonload();
        }

我发现隐藏/显示,显示部分创建了相同表单的另一个实例,所以我最好处理当前的一个,创建它的新实例,并显示它。

Grafik objFrmGrafik = new Grafik (); 
this.Dispose(); 
objFrmGrafik .Show();

Home为MDI-Form名称。我已经测试过了。

 home.ActiveForm.Dispose();
            home sd = new home();
            sd.Show();
//it is a good idea to use the 'sender' object when calling the form load method 
//because doing so will let you determine if the sender was a button click or something else...
private void button2_Click(object sender, EventArgs e)
{
    //you may want to reset any global variables or any other 
    //housekeeping before calling the form load method 
    Form1_Load(sender, e);
}
private void Form1_Load(object sender, EventArgs e)
{
    if (sender is Button)
    {
         //the message box will only show if the sender is a button
         MessageBox.Show("You Clicked a button");
    }
}