简单实现 C# TabControl 不显示选项卡标题
由于最近的项目需要,使用TabControl控件开发一个数据库分布同步向导,在最后封装时发现TabControl控件没有现成的隐藏标签的方法和属性;真是急煞人也!想办法解决吧。互联网的功能就是强大,虽然没有找到现成的解决方法,但我也了解的差不多了。经过尝试可以以如下方式实现TabControl的标签隐藏:
在窗体Load事件中添加:
this.tabControl1.Region = new Region(new RectangleF(this.tabPage1.Left, this.tabPage1.Top, this.tabPage1.Width, this.tabPage1.Height));
以上代码完成标签的隐藏,但还存在一个问题,就是Tab + Ctrl 可以切换TabControl中的页,可以通过捕捉按键消息屏蔽 组合键:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
switch (keyData)
{
case (Keys.Tab | Keys.Control):
return true;
default:
break;
}
return base.ProcessCmdKey(ref msg, keyData);
}
这个依旧存在BUG,用Tab键,把焦点能放在选项卡上,然后用左右键控制。
如果加上屏蔽TAB键,和左右键,都可能导致一些用户操作上的BUG。