У меня есть Маркировка Ссылки Windows Forms, "Обновление", которое обновляет дисплей.
В другой части моего кода, части формы отдельных окон, у меня есть диалоговое окно, которое изменяет данные, загруженные в дисплей во-первых. После выполнения этого другого кода, нажатие "Refresh" обновляет данные правильно.
Существует ли простой путь к диалоговому меню для "нажимания" Маркировки Ссылки "обновления" после того, как это закончило изменять данные?
Использование Visual Studio 2008.
Для кнопки действительно просто, просто используйте:
button.PerformClick()
В любом случае, я бы предпочел сделать что-то вроде:
private void button_Click(object sender, EventArgs e)
{
DoRefresh();
}
public void DoRefresh()
{
// refreshing code
}
и вызвать DoRefresh ()
вместо PerformClick ()
РЕДАКТИРОВАТЬ (в соответствии с изменениями OP):
Вы все еще можете использовать мое второе решение, которое намного предпочтительнее:
private void linkLabel_Click(object sender, EventArgs e)
{
DoRefresh();
}
public void DoRefresh()
{
// refreshing code
}
И извне формы вы можете вызвать DoRefresh ()
, так как это помечено как публичное.
Но если вам действительно нужно программно генерировать щелчок, просто посмотрите Ответ Юрия-Факторовича
Вы можете вызвать метод PerformClick. Но вообще лучше, чтобы событие Click кнопки вызывало написанный вами метод Refresh. А меню вызывало этот метод. В противном случае ваше меню зависит от наличия кнопки.
Edit:
LinkLabel реализует IButtonControl явно. Поэтому вы можете использовать:
((IButtonControl)button).PerformClick();
private void MyMethod()
{
// ...
// calling refresh
this.button1_Click(this.button1, EventArgs.Empty);
// ...
}
private void button1_Click(object sender, EventArgs e)
{
// refresh code
}
вы можете использовать метод для обновления дисплея, bouton_click и dialogBox вызывают этот метод
public void refrechDate()
{
}
private void button_click(...)
{
refrechData();
}