10

我在 TabControl 中有一个 TabControl。我希望外部 TabControl 在左侧显示其选项卡。但是,启用视觉样式后,左对齐的 TabControl 无法正确显示。我可以只为外部 TabControl 禁用视觉样式吗?

我知道第三方 TabControl 替代品 - 这不是我所追求的。

4

1 回答 1

25

向您的项目添加一个新类并粘贴如下所示的代码。建造。将新控件从工具箱顶部拖放到表单上。子控件的视觉样式被保留。

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);
  }
}
于 2008-11-18T20:15:46.153 回答