Отключить вызов метода tabPage_Enter в C # - PullRequest
1 голос
/ 02 декабря 2008

Когда я переключаю вкладки со следующим кодом

tabControl1.SelectTab("MyNextTab");

Вызывает tabPage_Enter для вкладки, с которой он переключается, и вкладки, на которую он переключается. Я хочу, чтобы он вызывался для вкладки, на которую он переключается, но не для вкладки, с которой он переключается. Как бы я выключил это. Я знаю, когда это произойдет, поэтому, если бы был вызов, который я мог бы сделать, чтобы отключить вызов метода ввода для этой вкладки, я мог бы реализовать это.

Ответы [ 3 ]

2 голосов
/ 02 декабря 2008

Да, я повторяю, если я использую кнопку, чтобы изменить выбранную вкладку. TabControl заставляет фокус на себя, прежде чем он изменит SelectedIndex. Похоже, это было сделано, чтобы избежать проблем с событием Validating. Изменение фокуса приводит к первому событию Enter, для активной вкладки смена вкладки приводит ко второму событию Enter.

Зная это, вы можете установить вспомогательный логический элемент, указывающий, что первое событие Enter следует игнорировать. Будьте внимательны, чтобы убедиться, что текущая вкладка уже не та, которую вы хотите выбрать. В идеальном мире это поведение не должно иметь значения. Фокус действительно действительно переместился на активную вкладку первым.

0 голосов
/ 02 декабря 2008

Оберните код в событии внутри чека, чтобы он обрабатывался только тогда, когда вы этого хотите.

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

0 голосов
/ 02 декабря 2008

Можете ли вы проверить индекс активной вкладки и обходной путь, используя это?

...