Мне нужно позвонить tabControl1_SelectedIndexChanged
из Form1
в Form2
как назвать событие из формы1 в форме?
Я понятия не имею, как это сделать.
Мне нужно позвонить tabControl1_SelectedIndexChanged
из Form1
в Form2
как назвать событие из формы1 в форме?
Я понятия не имею, как это сделать.
В общем, вы не вызывают события из других классов. Идея состоит в том, что события раскрывают поведение подписки/отмены подписки. Реализация может выбрать, чтобы также выставить метод, который вызывает событие, но ему не нужно - и если используемый вами элемент управления не предоставляет такой метод для события SelectedIndexChanged
, вы не можете его принудительно к.
Непонятно, чего вы пытаетесь достичь, но вы можете программным образом выбрать соответствующую вкладку - я бы ожидал, что поднять соответствующее событие. Вместо того, чтобы выставлять элемент управления вкладкой непосредственно из Form1
в Form2
(который, я надеюсь, является только именами-заполнителями - дайте ваши формы значащим именам), было бы проще выставить метод в Form1
, чтобы выполнить выбор соответствующей вкладки. Это более значимая операция для выполнения на Form1
- это не так сильно зависит от деталей реализации. С другой стороны, вы можете создать еще более чистый дизайн с использованием шаблонов MVP (или того, что вам больше подходит).
Я сделал это, теперь отлично работал, еще раз спасибо Джон! Я объявил tabControl1_SelectedIndexChanged как открытый, а затем: 'parentForm.tabControl1_SelectedIndexChanged (null, null);' –
@ TheMask: Было бы лучше, если бы вы сохранили обработчик событий как частный метод, но сделали этот вызов более подходящим, именованный метод, который также * был вызван внешним. –
Вы должны сделать общедоступный метод в первой форме, которая выполняет нужную вам логику.
Затем передайте экземпляр первой формы ко второй форме и вызовите метод в этом экземпляре.
Я сделал это, теперь у меня есть открытый член 'form1.tabControl1_SelectedIndexChanged' в' form2'. и я могу сделать: 'parentForm.tabControl1_SelectedIndexChanged (??, null)' мой вопрос сейчас - можно объявить элемент управления tabControl1 открытым? –
Как сказал Джон, вы не должны публиковать ... Вот некоторые другие примеры, которые я опубликовал ранее, которые явно проходят через создание двух форм и как пройти назад и вперед. Check these out
Вы должны называть свои формы и элементы управления. – SLaks
Вы «вызываете» событие или пытаетесь «прослушать» событие в Form2. – LarsTech