Вопрос

ETA: Я использую Visual Studio 2008 Express Edition.

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

Странная вещь с WndProc, хотя вы можете отложить его до:

Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
    MyBase.WndProc((m))
End Sub

И это все еще выбрасывает ошибку.

Я должен удалить код и вывести его, чтобы сбросить ошибку.

Кто-нибудь еще испытал это?

ETA:

Ответил ниже Криса Хааса.

Я не понял, но эта проблема должна произойти только тогда, когда я использовал код из отражателя. Reflector MIS - переводит в VB.NET и вставляет дополнительные кронштейны в вызовы на базу WNDPROC.

Это было полезно?

Решение

Когда вы завершаете аргумент в скобках, вы переопределяете ByRef позвонить и вместо этого звонить ByVal. Отказ Видеть Аргумент не изменяется по вызову процедуры - базовая переменная

Просто измените код:

Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
    MyBase.WndProc(m)
End Sub
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top