Pergunta

Em alguns computadores, nosso aplicativo Windows Forms trava sempre que abriu determinados formulários com esta pilha de chamadas:

Object reference not set to an instance of an object.
   at System.Windows.Forms.Form.OnVisibleChanged(EventArgs e)
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at DevExpress.XtraEditors.XtraForm.WndProc(Message& msg)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Foi útil?

Solução

Quando o recurso Mova automaticamente o ponteiro para o botão padrão está ativado no painel de controle, o aplicativo trava em Form.OnVisibleChanged Quando a forma é AcceptButton não deriva de Windows.Forms.Control.

Este é claramente um bug nos formulários do Windows, o documentação não diz isso IButtonControl AcceptButton deve derivar de Control.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top