如何制作不显示标签标题的标签管理器?
这是一个winforms应用,使用tab manager的目的是只能通过代码改变显示内容。这适用于各种菜单选项会更改屏幕内容的菜单。
最佳答案
隐藏标准 TabControl
上的选项卡非常简单,只要您知道诀窍。选项卡控件发送一个 TCM_ADJUSTRECT
message当它需要调整标签大小时,所以我们只需要捕获该消息。 (我确定之前已经回答过这个问题,但是发布代码比搜索它更容易。)
将以下代码添加到项目中的新类中,重新编译并使用CustomTabControl
类代替内置控件:
class CustomTabControl : TabControl
{
private const int TCM_ADJUSTRECT = 0x1328;
protected override void WndProc(ref Message m)
{
// Hide the tab headers at run-time
if (m.Msg == TCM_ADJUSTRECT && !DesignMode)
{
m.Result = (IntPtr)1;
return;
}
// call the base class implementation
base.WndProc(ref m);
}
}
(代码示例最初取自 Dot Net Thoughts。)
请注意,这对于位于侧面或底部的选项卡标题将无法正常工作。但这不仅看起来很奇怪,而且无论如何您都无法在运行时看到这些选项卡。只需将它们放在它们所属的顶部即可。
关于c# - 如何创建没有选项卡标题的 TabControl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4912354/