Перезагрузка формы окна без закрытия и повторного открытия - PullRequest
10 голосов
/ 11 октября 2011

У меня есть приложение Windows Forms, написанное на C #. Я хочу перезагрузить форму, когда кто-то нажмет кнопку «очистить» в ней. Но мне не удалось вызвать событие Load. Эти строки также не работали:

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

Что мне с этим делать? Спасибо за помощь ..

Ответы [ 5 ]

5 голосов
/ 11 октября 2011

Поместите код загрузки в отдельную функцию и вызовите эту функцию из своего собственного кода / обработчика события загрузки.

4 голосов
/ 13 октября 2015
        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();
        }
0 голосов
/ 11 февраля 2018
//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");
    }
}
0 голосов
/ 29 июня 2015

Home - это имя MDI-формы.Я проверил это.

 home.ActiveForm.Dispose();
            home sd = new home();
            sd.Show();
0 голосов
/ 26 ноября 2012

Я обнаружил, что при скрытии / показе часть show создает еще один экземпляр той же формы, поэтому мне лучше избавиться от текущего, создать новый экземпляр и показать его.

Grafik objFrmGrafik = new Grafik (); 
this.Dispose(); 
objFrmGrafik .Show();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...