Error con notifyIcon c#

Iniciado por Hartigan, 10 Septiembre 2010, 18:58 PM

0 Miembros y 3 Visitantes están viendo este tema.

Hartigan

Cita de: 43H4FH44H45H4CH49H56H45H en 11 Septiembre 2010, 03:59 AM
A mi me daba problemas cuando no especificaba el boton del mouse, prueba asi:

Código (csharp) [Seleccionar]
if (e.Button == MouseButtons.Left){
//code
}


Gracias a todos pero me sigue pasando lo mismo...

alguna solución más???

[D4N93R]

Ese es todo el código que maneja el notifier y el minimizado de la ventana? no tienes más nada?

Hartigan

Cita de: [D4N93R] en 11 Septiembre 2010, 05:01 AM
Ese es todo el código que maneja el notifier y el minimizado de la ventana? no tienes más nada?

aparte de eso tengo esto que no se si afectará, pero he probado a quitarlo y sigue pasando igualmente:

Código (csharp) [Seleccionar]


const int WM_SYSCOMMAND = 0x112;
const int SC_MINIMIZE = 0xF020;
const int SC_CLOSE = 0xF060;

......
.....
protected override void WndProc(ref Message m)
        {
            if (m.Msg == WM_SYSCOMMAND)
            {
                if (m.WParam == (IntPtr)SC_CLOSE)
                    Application.Exit();

                base.WndProc(ref m);
            }
            else
                base.WndProc(ref m);
        }

.....


puede ser porque tengo muchas barras de herramientas y menús, y que de error al volver a cargarlas despés de poner el formulario en estado normal???

Esque como he dicho una de las barras de herramientas que tengo al volver el form al estado normal tampoco se carga bien, se queda en gris... entonces no se si es por eso..

[D4N93R]

Bueno, no creo que sea eso, el problema es que se te está llamando algo recursivamente, puede que sea el resize o algo. Ejecutalo y deja que te salga el Error, cuando tengas el error te sale esa ventanita del Exception, hay algo que dice StackTrace, pon eso acá.

43H4FH44H45H4CH49H56H45H

@Hartigan esto funciona bien en mi máquina.

Código (csharp) [Seleccionar]
private void Form1_Resize(object sender, EventArgs e)
        {
            if (WindowState == FormWindowState.Minimized)
            {
                this.Hide();
                notifyIcon1.Visible = true;
            }
        }

        private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            this.Show();
            this.WindowState = FormWindowState.Normal;
            this.notifyIcon1.Visible = false;
        }


Porque no pruebas en otro PC, o en una máquina virtual.

-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W

Hartigan

Cita de: [D4N93R] en 11 Septiembre 2010, 17:10 PM
Bueno, no creo que sea eso, el problema es que se te está llamando algo recursivamente, puede que sea el resize o algo. Ejecutalo y deja que te salga el Error, cuando tengas el error te sale esa ventanita del Exception, hay algo que dice StackTrace, pon eso acá.

Esque nisiquiera da detalles del error. solamente dice esto:

No se controló System.StackOverflowException

y esto: {No se puede evaluar la expresión porque el subproceso actual está en un estado de desbordamiento de pila.}


Cita de: 43H4FH44H45H4CH49H56H45H en 11 Septiembre 2010, 17:49 PM
@Hartigan esto funciona bien en mi máquina.

Código (csharp) [Seleccionar]
private void Form1_Resize(object sender, EventArgs e)
        {
            if (WindowState == FormWindowState.Minimized)
            {
                this.Hide();
                notifyIcon1.Visible = true;
            }
        }

        private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            this.Show();
            this.WindowState = FormWindowState.Normal;
            this.notifyIcon1.Visible = false;
        }


Porque no pruebas en otro PC, o en una máquina virtual.

ya lo he probado y sigue pasando lo mismo.... Si lo que no me pase a mi.... Esque el error lo da en el close del form.... no se si hay algo ahí que tenga que ver...

Hartigan

#16
Bueno solucionados los problemas. Parece ser que era porque se repetía muchas veces una misma función y creo que era porque usaba mucho el showDialog() en lugar de show(). Al parecer de momento funciona bien. xDD

Gracias por la ayuda a todos ;)