Pregunta

Tengo un TabControl dentro de un TabControl. Quiero que el TabControl externo muestre sus pestañas a la izquierda. Sin embargo, con los estilos visuales habilitados, los controles de tabulación alineados a la izquierda no se muestran correctamente. ¿Puedo desactivar los estilos visuales solo para el control externo TabControl?

Soy consciente de los reemplazos de TabControl de terceros, eso no es lo que busco.

¿Fue útil?

Solución

Agregue una nueva clase a su proyecto y pegue el código que se muestra a continuación. Construir. Coloque el nuevo control desde la parte superior de la caja de herramientas en su formulario. Se conservan los estilos visuales de los controles secundarios.

using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;

public class FixedTabControl : TabControl {
  [DllImportAttribute("uxtheme.dll")]
  private static extern int SetWindowTheme(IntPtr hWnd, string appname, string idlist);

  protected override void OnHandleCreated(EventArgs e) {
    SetWindowTheme(this.Handle, "", "");
    base.OnHandleCreated(e);
  }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top