一、在TabControl控件中将指定的选项卡设置为当前选项卡
法1:利用TabControl的SelectTab方法
1、将指定索引的选项卡成为当前选项卡
public void SelectTab(int index)
index 要选择的选项卡在 TabPages 集合中的索引。
2、将将指定名称的选项卡成为当前选项卡。
public void SelectTab(string tabPageName)
3、将指定的 TabPage 成为当前选项卡
public void SelectTab(TabPage tabPage)
法2、利用TabControl的SelectedIndex属性
[BrowsableAttribute(false)]
public int SelectedIndex { get; set; }
获取或设置当前选定的选项卡页的索引。
法3、利用TabControl的SelectedTab属性
[BrowsableAttribute(false)]
public TabPage SelectedTab { get; set; }
获取或设置当前选定的选项卡页。
只有在 TabPages 集合中的选项卡页才能成为当前选项卡页。
二、TabPage 标签 重绘
private
void
tabControl1_DrawItem(
object
sender, System.Windows.Forms.DrawItemEventArgs e)
{
Font fntTab;
Brush bshBack;
Brush bshFore;
if
(e.Index ==
this
.tabControl1.SelectedIndex)
//当前Tab页的样式
{
fntTab =
new
Font(e.Font, FontStyle.Bold);
bshBack =
new
System.Drawing.Drawing2D.LinearGradientBrush(e.Bounds, SystemColors.Control, SystemColors.Control, System.Drawing.Drawing2D.LinearGradientMode.BackwardDiagonal);
bshFore = Brushes.Black;
}
else
//其余Tab页的样式
{
fntTab = e.Font;
bshBack =
new
SolidBrush(Color.Blue);
bshFore =
new
SolidBrush(Color.Black);
}
//画样式
string
tabName =
this
.tabControl1.TabPages[e.Index].Text;
StringFormat sftTab =
new
StringFormat();
e.Graphics.FillRectangle(bshBack, e.Bounds);
Rectangle recTab = e.Bounds;
recTab =
new
Rectangle(recTab.X, recTab.Y + 4, recTab.Width, recTab.Height - 4);
e.Graphics.DrawString(tabName, fntTab, bshFore, recTab, sftTab);
}
}
三、Tabcontrol中隐藏显示某个选项卡
显示是:选项卡名.Parent=tabControl;
隐藏式:选项卡名.Parent=null;