tareas ocultos mostrar modificar minimizar los iconos icono desagrupar dela como cambiar barra aplicacion c# .net winforms

c# - ocultos - Cómo hacer que una ventana tenga texto en la barra de tareas pero sin barra de título



minimizar aplicacion en barra de tareas c# (4)

¿Cómo puedo hacer que mi ventana no tenga una barra de título pero aparezca en la barra de tareas con un texto descriptivo? Si configuras la propiedad .Text del Formulario, .net le da una barra de título, que yo no quiero.

this.ControlBox = false; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.MaximizeBox = false; this.MinimizeBox = false; this.ShowInTaskbar = true; this.Text = "My title for task bar";

Encontré una solución parcial para anular CreateParams:

protected override System.Windows.Forms.CreateParams CreateParams { get { System.Windows.Forms.CreateParams cp = base.CreateParams; cp.Style &= ~0x00C00000; // WS_CAPTION return cp; } }

Sin embargo, esto hace que mi ventana cambie de tamaño como si tuviera una barra de título, es decir, es más alto de lo que debería ser. ¿Hay alguna buena solución para esto?


En mi caso, tengo un Formulario con FormBorderStyle = FormBorderStyle.SizableToolWindow y el siguiente reemplazo de CreateParams fue el truco (es decir, ahora tengo un formulario sin título y sin margen adicional para el título, pero mantiene el título en la barra de tareas):

protected override System.Windows.Forms.CreateParams CreateParams { get { var parms = base.CreateParams; parms.Style &= ~0x00C00000; // remove WS_CAPTION parms.Style |= 0x00040000; // include WS_SIZEBOX return parms; } }


Simplemente configure el estilo del borde en Ninguno.

this.FormBorderStyle = FormBorderStyle.None;


Un enfoque a considerar podría ser establecer la propiedad FormBorderStyle de su Form en None (en lugar de FixedDialog ).

El inconveniente de este enfoque es que se pierden los bordes de la ventana y la barra de título. El resultado es que pierde la lógica de cambio de tamaño / formateo de formularios que normalmente obtiene "gratis" con Windows Forms; Tendría que lidiar con esto implementando su propia lógica de mover / cambiar el tamaño de forma en los manejadores de eventos MouseDown y MouseMove.

También me interesaría saber sobre mejores soluciones.