#c# #winforms #visual-studio-2010 #button #event-handling
#c# #winforms #visual-studio-2010 #кнопка #обработка событий
Вопрос:
Я использую Visual c # express 2010, у меня есть 3 вкладки, и на первой вкладке есть кнопка, которая завершает работу с программой. Я пытаюсь вызвать нажатие этой кнопки на 2-й и 3-й вкладках с помощью
btnExit.PerformClick();
но поскольку она не видна, ничего не происходит. Как бы я вызвал щелчок невидимой кнопки?
буду признателен за любую помощь
РЕДАКТИРОВАТЬ: Спасибо за ответы, два ответа отлично работают, но я нашел способ, который, на мой взгляд, проще и лучше.
вместо систематического изменения вкладок или вызова совершенно другого метода, я сделал это
btnExit_Click(sender, e);
Я могу поместить это в любое другое нажатие кнопки, и это отлично работает, очень просто.
Ответ №1:
Я думаю, что лучше создать метод, который на самом деле содержит код для выхода из программы, и вызвать этот метод из события щелчка btnExit, а также из события щелчка других кнопок, чем выполнять нажатие кнопки выхода.
void ExitApplication()
{
// code to exit the application
}
protected void btnExit_Click(object sender, EventArgs e)
{
ExitApplication();
}
protected void ButtonInOtherTab_Click(object sender, EventArgs e)
{
ExitApplication();
}
Таким образом, это легче читать и понимать.
Комментарии:
1. да, это было бы немного проще, если бы я просто хотел, чтобы она вышла из приложения. Но есть другой код, который запускается, когда я нажимаю начальную кнопку выхода, например, сохранение введенного текста и тому подобное. Было бы намного проще вызвать кнопку, а затем исправить код для каждой кнопки.
2. но я думаю, я мог бы также поместить этот код в метод ExitApplication(). Спасибо, я могу это сделать.
Ответ №2:
myTabs.SelectedTab = specificTab;
btnExit.PerformClick();
Комментарии:
1. Отредактировал фрагмент. Сначала активируйте вкладку, затем выполните click. После этого вы можете вернуться к начальной вкладке.
2. на какой бы вкладке ни находилась эта кнопка.