我想做成卡巴斯基、nod32、GHOST 2003等那样的界面,就是左边一些按钮,右边是tabcontrol控件。当我点击左边一个按钮时,右边显示tabcontrol的一页,且这一页的标签要隐藏,就是说把原来用标签换页的方式改为用按钮事件代码实现,请问如何实现。
注意:只是隐藏标签,并不是清除一页,有些人数用tabcontrol_order.TabPages.Remove(TabPage_name)是断不可取的,不是这个意思。
注意:只是隐藏标签,并不是清除一页,有些人数用tabcontrol_order.TabPages.Remove(TabPage_name)是断不可取的,不是这个意思。
解决方案 »
- 一个表连接到两个表的联查的SQL语句怎么写
- 在gridview中加入combobox中这段代码老报错
- C#如何调用C语言编写的一个串口
- gridview 如何根据给定参数绑定dataset中的某个表
- vs2005中,调动API钩子函数过程中,我用WH_KEYBOARD_LL = 13钩键盘,击键时回调函数没工作,还有大小如何区分啊?
- 100分问题:字符串如何使用通配符和正则表达式来替换。
- 推荐一下著名.net英文网站,thinks
- button1_MouseMove如何调用呢? +=
- vs.net工具栏中组件的图标如何设定?
- 在datagrid里如何隐藏第一列?还有样式表的如何使用?
- 错误:为过程或函数 Proc_ScoreAdd 指定了过多的参数。
- 怎么样修改 propertygrid 里面的属性?
remove 是从 tabcontrol 中去除, tabpage 还在的, 还可以再次加进去你的方式其实也可以使用多个 panel 在右边来实现
根据左边的选择, 来决定右边哪个panel 可见并且Dock.fill
隐藏标签可以考虑将其标签大小设置为0或最小
每页定义成一个form(toplevel设置成false)
点每个按钮的时候先清除panel内的所有control,然后再增加相应的form就行了。
public class TabSwitch : TabControl
{
public TabSwitch()
: base()
{
} public override Rectangle DisplayRectangle
{
get
{
if (!DesignMode)
return ClientRectangle;
else
return base.DisplayRectangle;
}
}
}
Apperarance 属性:Faltbuttons
SizeMode属性:Fixed
各个TabPage的Text :空
ItemSize : Width=0;Height=1;//Height好象不能设为0,但也就那么一丁点儿,不影响吧厉害吧~~给分吧~~~
假定你的tabControl有三页
0。 tabPageProductsResource
1。 tabPageProductsInformation
2。 tabPageFormatFolders如果你想点击某个button显示一个页另外两个隐藏, 首先判断你要显示的页存在否,不存在则Add.
这里用到了Controls.Contains().....先要做的工作,在form的 InitializeComponent()函数中, 先把tabcontrol中的三页隐藏(即Remove掉)
0。 tabPageProductsResource
1。 tabPageProductsInformation
2。 tabPageFormatFolders方法是 把下面三行注释掉:
this.tabControlLayoutRight.Controls.Add(this.tabPageProductsResource);
this.tabControlLayoutRight.Controls.Add(this.tabPageProductsInformation);
this.tabControlLayoutRight.Controls.Add(this.tabPageFormatFolders);这三行在C# 的form.Design.cs中,用Notepad中打开,VS IDE中不能打开,因为Microsoft不建议自已修改设计器源码。这样,在窗口打开时,所有的页都不显示,用户点击button控制tab页的显示。如果你想默认某tab页显示,就不要注释相应的行。
下面提button点击事件示例。
private void buttonFormatFolder_Click(object sender, EventArgs e)
{
if (!this.tabControlLayoutRight.Controls.Contains(this.tabPageFormatFolders))
{
this.tabControlLayoutRight.Controls.Add(this.tabPageFormatFolders);
}
if (this.tabControlLayoutRight.Controls.Contains(this.tabPageProductsResource))
{
this.tabControlLayoutRight.Controls.Remove(this.tabPageProductsResource);
this.tabControlLayoutRight.Controls.Remove(this.tabPageProductsInformation);
}
}