一、隐藏和显示tabControl1中的tabpage的方法:
- tabControl1.tabPage1.Parent = tabControl1; // 显示
- tabControl1.tabPage2.Parent = null; //隐藏
- tabControl1.tabPage3.Parent = null;
二、隐藏标签的三种方法
方法一:将标签缩小到机会看不到:设置页面的大小模式会自动适合(会尽量占有空间);将标签(Item)的大小设置为最小(无宽度,高度为1)
-
TabControl.SizeMode = TabSizeMode.Fixed
- TabControl.ItemSize = New Size(0, 1)
(感谢【lzhiqiu(知秋一葉)】发布)
方法二:将TabControl放入到Panel,将位置上移,用Panel遮挡住标签
方法三:在窗体Load事件中添加:
- this.tabControl1.Region = new Region(new RectangleF(this.tabPage1.Left, this.tabPage1.Top, this.tabPage1.Width, this.tabPage1.Height));
以上代码完成标签的隐藏,但还存在一个问题,就是Tab + Ctrl 可以切换TabControl中的页,可以通过捕捉按键消息屏蔽 组合键:
-
/* Windows 窗体通过引发键盘事件来处理键盘输入而响应 */
-
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
- {
- MessageBox.Show("Auto Excute Function ProcessCmdKey");
- switch (keyData)
- {
- case (Keys.Tab | Keys.Control):
- return true;
- default:
- break;
- }
- return base.ProcessCmdKey(ref msg, keyData);
- }
如下图,按tab或者ctrl键,就会触发该函数
以上两步即可实现TabControl 标签的隐藏,如果要效果理想,可以调整TabControl 的appearance属性设置TabControl 的绘制方式。
隐藏效果图
感谢下面的参考博客
http://hi.baidu.com/yangyangye2008/item/5f4b660449f459d41ef04609