自定义TabControl的Item的显示样式
来源:互联网 发布:2016银行同业业务数据 编辑:程序博客网 时间:2024/06/15 05:30
TabControl原始的Item样式并不是十分的好看,所以,我们可能需要重新绘制自定义的显示样式。博文中将会介绍两种自定义的Item的显示样式,博文中也会分别提供份一份子丰的程序,可以直接下载。
1. 显示样式1
通过TabControl的DrawItem事件实现Item样式的重绘。
下载:点击打开链接
http://download.csdn.net/detail/softimite_zifeng/9689086
在重绘之前首先需要设置TabControl的属性,可以在窗口的构造函数中进行设置,代码如下:
public Form1(){ InitializeComponent(); //设置TabControl的属性 TabControlSet();}//设置TabControl的属性private void TabControlSet(){ tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed; tabControl1.Alignment = TabAlignment.Left; tabControl1.SizeMode = TabSizeMode.Fixed; tabControl1.ItemSize = new Size(82, 250);}
TabControl的DrawItem事件:
private void tabControl1_DrawItem(object sender, DrawItemEventArgs e){ Graphics g = e.Graphics; Font font = new Font("微软雅黑", 16.0f, FontStyle.Bold); SolidBrush brush = new SolidBrush(Color.White); RectangleF rectangle = (RectangleF)(tabControl1.GetTabRect(e.Index)); RectangleF rectangle2 = new RectangleF(rectangle.X + 5, rectangle.Y + 5, rectangle.Width - 10, rectangle.Height - 10); g.FillRectangle(new SolidBrush(SystemColors.Highlight), rectangle2); StringFormat sformat = new StringFormat(); sformat.LineAlignment = StringAlignment.Center; sformat.Alignment = StringAlignment.Center; g.DrawString(((TabControl)sender).TabPages[e.Index].Text, font, brush, rectangle2, sformat); ////绘制边框 //using (Pen pen = new Pen(Color.Red, 1)) //{ // pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash; // g.DrawLine(pen, rectangle.X + 3, rectangle.Y + 3, rectangle.X + 3, rectangle.Y + 3 + rectangle.Height - 6); // g.DrawLine(pen, rectangle.X + 3 + rectangle.Width - 6, rectangle.Y + 3, rectangle.X + 3 + rectangle.Width - 6, rectangle.Y + 3 + rectangle.Height - 6); // if (e.Index == 0) // { // g.DrawLine(pen, rectangle.X + 3, rectangle.Y + 3, rectangle.X + 3 + rectangle.Width - 6, rectangle.Y + 3); // } // if (e.Index == tabControl1.TabPages.Count - 1) // { // g.DrawLine(pen, rectangle.X + 3, rectangle.Y + 3 + rectangle.Height - 6, rectangle.X + 3 + rectangle.Width - 6, rectangle.Y + 3 + rectangle.Height - 6); // } //}}
2. 显示样式2
通过自定义一个Panel实现TabItem的功能,其实这不是一个重新绘制。该显示样式,当某个TagPage被选中时,TabPage的文字颜色会变为黑色,且大小会稍微变大;当鼠标停留在某个Tabpage上,TabPage的文字颜色会变为紫色,且大小会变大,当鼠标移开之后TabPage恢复原样。该样式中还在最上方增加了一个Title选项,可以用来说明TabControl的用处。
下载:点击打开链接
http://download.csdn.net/detail/softimite_zifeng/9689042
选中tabPage5:
鼠标停留在tabPage3上:
因为该显示样式并不是重绘,实现起来比较繁琐,所以就不在博文中贴出代码。感兴趣的可以直接下载该程序,程序中包含了所有实现代码。
0 0
- 自定义TabControl的Item的显示样式
- tabControl的样式style
- 修改TabControl的样式(SilverLight)
- tabControl控件自定义样式
- 如何动态创建tabControl的Item
- WPF的TabControl 纵向显示
- 自定义RatingBar显示的样式
- Android 自定义ListView格局和各Item的样式
- QComboBox组合框 自定义样式 item的高度
- 自定义标题背景的TabControl(转贴)
- 点击显示一个样式自定义的Popupwindow
- C#实现item自定义颜色的ListBox,显示日志
- GridView 自定义Item大小的时候第一个Item显示不正常的解决办法
- 请问tabControl上的标题如何纵向显示?
- TabControl控件和DataGridView控件的显示问题
- 将Zen-Cart首页产品以TabControl的形式显示
- 将Zen-Cart首页产品以TabControl的形式显示
- C#.NET的TabControl如何隐藏和显示页面
- IntelliJ IDEA 编译报错:Error:java: Compilation failed: internal java compiler error
- android mediaplayer 使用的一些注意事项
- 计算G711语音的打包长度和RTP里timestamp(时间戳)的增长量
- 嵌入式Linux文件系统详细介绍
- android webview点击返回键返回上一个html
- 自定义TabControl的Item的显示样式
- 机器学习小组知识点15:高斯分布/正态分布(Gaussian Distribution/Normal Distribution)
- xf_point_1
- Android之旅——02
- 16进制数据
- c++指针运算符(&和*)
- QQ邮箱模拟登录
- 图的深度遍历
- Parcelable in Android