Ответ 1
Поместите код загрузки в отдельную функцию и вызовите эту функцию из своего собственного обработчика событий кода/загрузки.
У меня есть приложение для форм Windows, написанное на С#. Я хочу перезагрузить форму, когда кто-то нажимает на нее кнопку "clear". Но я не мог достичь вызова Load event. Эти строки также не работали:
this.Refresh();
this.Load +=new EventHandler(Grafik_Load); // 'Grafik' is the name of the form.
Что мне делать? Спасибо за помощь.
Поместите код загрузки в отдельную функцию и вызовите эту функцию из своего собственного обработчика событий кода/загрузки.
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();
}
я обнаружил, что hide/show, часть show создает другой экземпляр той же формы, поэтому я лучше распоряжаюсь текущим, создаю новый экземпляр и показываю его.
Grafik objFrmGrafik = new Grafik ();
this.Dispose();
objFrmGrafik .Show();
Главная - имя MDI-формы. Я протестировал его.
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");
}
}