我没有找到标签容器的任何属性来改变包含标签栏的背景颜色我该怎么做?我如何更改c#中tabcontainer选项卡栏的背景颜色?
5
A
回答
2
http://rajeshkm.blogspot.com/2006/07/how-to-change-color-of-tab-control-in.html
请务必阅读第一个评论,因为它包含了修正,将让代码编译。
借用(和纠正)代码警告:
private void ChangeTabColor(object sender, DrawItemEventArgs e)
{
Font TabFont;
Brush BackBrush = new SolidBrush(Color.Green); //Set background color
Brush ForeBrush = new SolidBrush(Color.Yellow);//Set foreground color
if (e.Index == this.tabControl1.SelectedIndex)
{
TabFont = new Font(e.Font, FontStyle.Italic | FontStyle.Bold);
}
else
{
TabFont = e.Font;
}
string TabName = this.tabControl1.TabPages[e.Index].Text;
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
e.Graphics.FillRectangle(BackBrush, e.Bounds);
Rectangle r = e.Bounds;
r = new Rectangle(r.X, r.Y + 3, r.Width, r.Height - 3);
e.Graphics.DrawString(TabName, TabFont, ForeBrush, r, sf);
//Dispose objects
sf.Dispose();
if (e.Index == this.tabControl1.SelectedIndex)
{
TabFont.Dispose();
BackBrush.Dispose();
}
else
{
BackBrush.Dispose();
ForeBrush.Dispose();
}
}
要在代码中使用这个,就把这条线在你的窗体的Load事件:
tabControl1.DrawItem += ChangeTabColor.
3
一个TabControl的背景颜色是继承来自其父母。
在窗体上放置一个与TabControl具有相同位置和大小的面板,将TabControl放置在此面板内并将Dock设置为“填充”。
或者在代码相同的方法:
private void Form1_Load(object sender, EventArgs e)
{
Panel tabBackground = new Panel
{
Location = tabControl1.Location,
Size = tabControl1.Size,
// Your color here
BackColor = Color.Magenta
};
tabBackground.Controls.Add(tabControl1);
Controls.Add(tabBackground);
tabControl1.Dock = DockStyle.Fill;
}
相关问题
- 1. 如何更改活动底部栏选项卡背景颜色
- 2. 我如何更改android中选项卡的背景颜色?
- 3. 我如何更改jtabbedpane选定的选项卡背景颜色
- 4. 更改自定义选项卡栏中每个选项卡的背景颜色
- 5. 自定义选项卡栏背景颜色。如何更改标签栏背景的颜色?
- 6. 更改操作栏选项卡的背景颜色
- 7. 如何更改PhpStorm中活动选项卡的背景颜色?
- 8. 更改选项卡的背景色jquery
- 9. 更改TabLayout的选定选项卡背景和文本颜色
- 10. 在离开鼠标后更改导航栏中选项卡的背景颜色
- 11. onItemClick选项更改背景颜色
- 12. 在TabActivity中更改选项卡背景颜色
- 13. 更改选定的工具栏菜单项背景颜色
- 14. Bootstrap更改实际选项卡的背景颜色
- 15. 更改选项卡控件的背景颜色
- 16. 更改标签的背景颜色和删除选项卡
- 17. 更改标签栏的背景颜色
- 18. 更改操作栏的背景颜色
- 19. 如何更改项目的背景颜色由一个选项
- 20. 如何更改LongListSelecter中选定项目的背景颜色?
- 21. 如何更改Windows Phone中选定项目的背景颜色?
- 22. 如何更改ListView中选定项目的背景颜色?
- 23. 更改来源选项卡背景颜色
- 24. 在kivy上更改背景颜色默认选项卡
- 25. 如何在Winforms中更改选项卡控件的背景颜色?
- 26. 背景选项卡的颜色不选择选项卡
- 27. Ionic2选项卡 - 如何更改选定选项卡的颜色?
- 28. JQuery UI选项卡背景颜色
- 29. 更改WPF标题栏背景颜色
- 30. 更改导航栏背景颜色?
不,这是不能继承。它由活动主题控制。 – 2010-03-19 12:53:40
我不知道你是否争论是否存在实际的继承关系...我所知道的是,TabControl将其背景与其父项相同,而不考虑活动主题。 – jamesrom 2010-03-19 13:24:14