2015-03-16 2 views
-1

У меня есть проект vb.net 2013.Внезапно событие Form.Shown больше не срабатывает

У меня есть форма с большим количеством элементов управления. Все работало отлично.

Но в какой-то момент я не знаю, что я сделал, но событие Form.Shown больше не срабатывает. Форма открыта правильно, и все работает, кроме этого события.

Я удаляю и воссоздаю снова это событие, но не работает.

что может быть причиной и что я должен сделать, чтобы исправить это?

Спасибо!

Обновлено

Я обнаружил, что причиной проблемы является эта строка кода в случае нагрузки:

Application.AddMessageFilter(filter1) 

где filter1 является IMessageFilter.

Этот фильтр не позволяет пользователям щелкнуть по области конкретной формы, когда условие истинно. Когда я удаляю эту строку кода, показанное событие запускается.

Но что должно сделать это с показанной формой ??? !!! И почему в других формах (где у меня есть точно такая же строка кода) все работает отлично?

+0

Начните с отображения того, что вы сделали, чтобы начать. – Codexer

+0

Я обнаружил, что причиной проблемы является эта строка кода в событии Load: Application.AddMessageFilter (filter1) , где filter1 - IMessageFilter. Этот фильтр запрещает пользователям нажимать на область конкретной формы, когда условие истинно. Когда я удаляю эту строку кода, указанное событие запускается. Но что должно сделать это с показанной формой ??? !!! И почему в других формах (где у меня есть точно такая же строка кода) все работает отлично? – alex

+0

Возможно, в других формах вы правильно обрабатываете сообщения Windows в методе WndProc. Проверьте, что – Caveman

ответ

1

Может быть стоит проверить первую строку процедуры в Handles части, там должно быть что-то после него, как Private Sub txtBox1_TextChanged (события ......) Ручки txtBox1.TextChanged

Не уверен, что именно это было бы для этого события, но что-то вроде

Handles Me.Shown 

Надеюсь, что это имеет смысл.

+0

Нет, это не имеет ничего общего с проблемой, потому что так должно быть, и это одинаково для всех форм. У меня проблема только на одном из них. – alex

Смежные вопросы