none
como minimizar al dar clic en el icono desde la barra e tareas de un form sin bordes? RRS feed

  • Pregunta

  • Me explico. Cuando tengo un form con bordes normales y al ejecutar, yo puedo minimizarlo y mostrarlo solamente dando clic desde la barra de tareas. Pero cuando le quito los bordes al form para hacer botones personalizados de minimizar, maximizar, restaurar y cerrar, al dar clic desde la barra de tareas cuando está mostrado el form este no se minimiza ya que queda estático al quitarle los bordes al form. Me gustaría saber si existe un código para poder minimizar dando clic desde la barra de tareas a un form sin bordes.

    domingo, 12 de mayo de 2019 15:57

Respuestas

  • Deleted
    • Marcado como respuesta cerm88 lunes, 13 de mayo de 2019 20:56
    lunes, 13 de mayo de 2019 14:11
  • Hola

     en c# se hace asi

       const int WS_MINIMIZEBOX = 0x20000;
           const int CS_DBLCLKS = 0x8;
            protected override CreateParams CreateParams
            {
                get
                {
                    CreateParams cp = base.CreateParams;
                    // para minimizar a restaurar ventana desde icno de barra de estado
                    cp.Style |= WS_MINIMIZEBOX;// 
                    cp.ClassStyle |= CS_DBLCLKS;
                    return cp;
                }
            }

    es cuestion de adaptarla a vb.net

    y quedaria asi

    Protected Overrides ReadOnly Property CreateParams() As System.Windows.Forms.CreateParams
            Get
                Dim cp As System.Windows.Forms.CreateParams = MyBase.CreateParams
                cp.Style = cp.Style Or &H20000
                cp.Style = cp.Style Or &H40 
                Return cp
            End Get
        End Property


    • Editado Marti Llam lunes, 13 de mayo de 2019 3:36
    • Marcado como respuesta cerm88 lunes, 13 de mayo de 2019 20:56
    lunes, 13 de mayo de 2019 3:19
  • Hola

    en la clase debiera quedar asi

    Public Class Form1
    
        Protected Overrides ReadOnly Property CreateParams() As System.Windows.Forms.CreateParams
            Get
                Dim cp As System.Windows.Forms.CreateParams = MyBase.CreateParams
                cp.Style = cp.Style Or &H20000
                cp.Style = cp.Style Or &H40 
                Return cp
            End Get
        End Property
    
    
    End Class
    
    y con eso es suficiento

    • Propuesto como respuesta Alberto PoblacionMVP lunes, 13 de mayo de 2019 14:53
    • Marcado como respuesta cerm88 lunes, 13 de mayo de 2019 20:56
    lunes, 13 de mayo de 2019 14:06

Todas las respuestas

  • Hola

     en c# se hace asi

       const int WS_MINIMIZEBOX = 0x20000;
           const int CS_DBLCLKS = 0x8;
            protected override CreateParams CreateParams
            {
                get
                {
                    CreateParams cp = base.CreateParams;
                    // para minimizar a restaurar ventana desde icno de barra de estado
                    cp.Style |= WS_MINIMIZEBOX;// 
                    cp.ClassStyle |= CS_DBLCLKS;
                    return cp;
                }
            }

    es cuestion de adaptarla a vb.net

    y quedaria asi

    Protected Overrides ReadOnly Property CreateParams() As System.Windows.Forms.CreateParams
            Get
                Dim cp As System.Windows.Forms.CreateParams = MyBase.CreateParams
                cp.Style = cp.Style Or &H20000
                cp.Style = cp.Style Or &H40 
                Return cp
            End Get
        End Property


    • Editado Marti Llam lunes, 13 de mayo de 2019 3:36
    • Marcado como respuesta cerm88 lunes, 13 de mayo de 2019 20:56
    lunes, 13 de mayo de 2019 3:19
  • Y ahora que hago con esa propiedad? Porque ya coloqué el código pero no me minimiza dándole clic desde la barra de tareas!
    lunes, 13 de mayo de 2019 13:44
  • Hola

    en la clase debiera quedar asi

    Public Class Form1
    
        Protected Overrides ReadOnly Property CreateParams() As System.Windows.Forms.CreateParams
            Get
                Dim cp As System.Windows.Forms.CreateParams = MyBase.CreateParams
                cp.Style = cp.Style Or &H20000
                cp.Style = cp.Style Or &H40 
                Return cp
            End Get
        End Property
    
    
    End Class
    
    y con eso es suficiento

    • Propuesto como respuesta Alberto PoblacionMVP lunes, 13 de mayo de 2019 14:53
    • Marcado como respuesta cerm88 lunes, 13 de mayo de 2019 20:56
    lunes, 13 de mayo de 2019 14:06
  • Deleted
    • Marcado como respuesta cerm88 lunes, 13 de mayo de 2019 20:56
    lunes, 13 de mayo de 2019 14:11
  • Ahora si funciona perfecto! Mil gracias a todos por sus respuestas!
    • Editado cerm88 lunes, 13 de mayo de 2019 14:51 Faltó texto
    lunes, 13 de mayo de 2019 14:50
  • Si tu problema se soluciono marcarla como resuelta para que otros con tu misma duda  encuentren la solución
    lunes, 13 de mayo de 2019 15:13