我沒有找到標籤容器的任何屬性來改變包含標籤欄的背景顏色我該怎麼做?我如何更改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