как вызвать событие из формы1 в форме? - PullRequest
1 голос
/ 13 декабря 2011

Мне нужно позвонить tabControl1_SelectedIndexChanged из Form1 в Form2

Я понятия не имею, как это сделать.

Ответы [ 3 ]

6 голосов
/ 13 декабря 2011

В общем, вы не вызываете события из других классов. Идея состоит в том, что события представляют поведение подписки / отписки. Реализация может выбрать , чтобы также предоставить метод, который вызывает событие, но это не обязательно - и если используемый вами элемент управления не предоставляет такой метод для события SelectedIndexChanged, Вы не можете заставить это.

Не ясно, чего вы пытаетесь достичь, но вы можете вместо этого программно выбрать соответствующую вкладку - я ожидаю, что это вызовет соответствующее событие. Вместо того, чтобы выставлять элемент управления вкладкой непосредственно от Form1 до Form2 (который, я надеюсь, являются только именами-заполнителями - дайте вашим формам осмысленные имена :), было бы чётче представить метод в Form1, чтобы выполнить выбор подходящего вкладка. Это более значимая операция для выполнения Form1 - она ​​не так сильно зависит от деталей реализации. С другой стороны, вы можете создать более чистый дизайн с использованием шаблонов MVP (или того, что вам больше подходит).

3 голосов
/ 13 декабря 2011

Вы должны создать открытый метод в первой форме, который выполняет необходимую логику.

Затем передайте экземпляр первой формы во вторую форму и вызовите метод для этого экземпляра.

2 голосов
/ 13 декабря 2011

Как упоминал Джон, вы не должны обнародовать ... Вот некоторые другие примеры, которые я опубликовал ранее, которые подробно описывают создание двух форм и как передавать туда-сюда. Проверьте это

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