或许,我会成为一名画家。。。
this.tabContents.DrawMode = TabDrawMode.OwnerDrawFixed;
//--------------------------------------------------------------------------
/// <summary>
/// TabControl DrawItem時発生します。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
//--------------------------------------------------------------------------
private void tabContents_DrawItem(object sender, DrawItemEventArgs e)
{
SolidBrush pink = new SolidBrush(Color.Pink);
SolidBrush ws = new SolidBrush(Color.LightGray);
SolidBrush white = new SolidBrush(Color.White);
SolidBrush black = new SolidBrush(Color.Black);
StringFormat sf = new StringFormat();
Pen pen = new Pen(Color.Gray);
sf.Alignment = StringAlignment.Center;
string text = tabContents.TabPages[e.Index].Text;
Rectangle rect = tabContents.GetTabRect(e.Index);
Rectangle rectSelected = new Rectangle(rect.X - 3, rect.Y - 3, rect.Width, rect.Height + 3);
if (text == "メモ" && hasMemo)
e.Graphics.FillRectangle(pink, rect);
else
{
if (tabContents.SelectedIndex == e.Index)
e.Graphics.FillRectangle(white, rectSelected);
else
e.Graphics.FillRectangle(ws, rect);
}
Rectangle rectText = new Rectangle(rect.X, rect.Y + 3, rect.Width, rect.Height + 3);
e.Graphics.DrawString(text, new Font("MS UI Gothic", 9), black, rectText, sf);
Point p1 = new Point(rect.X, rect.Y);
Point p2 = new Point(rect.X, rect.Y + rect.Height);
e.Graphics.DrawLine(pen, p1, p2);
p1 = new Point(rect.X + rect.Width, rect.Y);
p2 = new Point(rect.X + rect.Width, rect.Y + rect.Height);
e.Graphics.DrawLine(pen, p1, p2);
p1 = new Point(rect.X, rect.Y);
p2 = new Point(rect.X + rect.Width, rect.Y);
e.Graphics.DrawLine(pen, p1, p2);
}
posted on 2016-04-18 16:51
Ying-er 阅读(432)
评论(0) 编辑 收藏 所属分类:
.Net