Как узнать, когда кнопка нажата в form1, но знать в form2 C # - PullRequest
0 голосов
/ 30 апреля 2011

C #.Здравствуйте ... У меня есть 2 формы => Form1 с кнопкой и Form2.Я хочу знать, как я могу управлять событием кнопки Form2 в Form1.Поэтому, когда я делаю клик в form2, я хочу знать, что в form1 нужно что-то сделать

Ответы [ 3 ]

0 голосов
/ 30 апреля 2011

Форма 1 требует ссылки на форму 2.Затем вы просто подключаете обработчик событий в Form1 к кнопке в Form2.

// code in form1 might look something like

public void SubscribeToEvents()
{
   // get Form2 reference
   var form2 = GetForm2Reference();
   form2.Button.Click += ButtonOnForm2EventHandler;
}

public void ButtonOnForm2EventHandler(object sender, EventHandlerArgs e)
{
   // some code
}
0 голосов
/ 30 апреля 2011

Как заявили другие, но без публичного контроля или поиска ссылок, если они у вас уже есть:

В form2 создайте метод для отправки другого метода подписки на нажатие кнопки:

   public void SubscribeToButton(EventHandler eh) {
       button1.Click += eh;
   }

в form1 подпишитесь на form2:

   form2.SubscribeToButton(this.f2_button_Click);

и в нем есть метод, который будет выполняться при клике

   private void f2_button_Click(object sender, EventArgs e) {
   }

Я действительно написал неправильный порядок, поэтому, пожалуйста, создайте форму угрозы 1 как form2семафоре.

0 голосов
/ 30 апреля 2011

Form1 может подписаться на события Form2.Вам нужен указатель на Form2 в Form1, но тогда вы можете просто написать:

instanceOfForm2.Button.Click += handlerInForm1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...