带叉叉按钮的Tab页
由于项目的需要,要有一个像Firefox那样的有叉叉按钮的TABPAGE
花了一上午时间,给画了一个
主要理清三种情况
1:当前项的叉叉按钮
2:非当前项的叉叉按钮
3:鼠标移动时的叉叉按钮等咋表现出来
其次就是GDI+一般注意的位置问题
每个叉叉的相对位置
e.Graphics.FillRectangle(_brush, tabTextArea.X + tabTextArea.Width - 22, 4, tabTextArea.Height - 3, tabTextArea.Height - 3);
这一句是画叉叉按钮下面那个红红的背景,而tabTextArea=(RectangleF)this.GetTabRect(i); i为TAB页的索引号
这几个问题理清了,剩下就是画叉叉的问题了
画过的人都知道,其实就是小学一条定理,两点确定一条直线
然后,就画喽
using (Pen pen = new Pen(Color.White, 2))
{
e.Graphics.DrawLine(pen, tabTextArea.X + tabTextArea.Width - 18, 7, tabTextArea.X + tabTextArea.Width -11, 15);
e.Graphics.DrawLine(pen, tabTextArea.X + tabTextArea.Width - 18, 15, tabTextArea.X + tabTextArea.Width -11, 7);
}
剩下也就没什么了
就是把其他状态用不同颜色画画画出来喽
贴一张图
有没看出第二个叉叉的颜色比较深,是因为选中的效果,嘿嘿
至于代码嘛!还没整理,还有一个原因就是不会搞链接与上传文件,改天学会了再上传哦,贴两张图都好麻烦啊!不过也因为我是一个专业的看贴很少回贴的人啦
嘿嘿!希望以后在博客园多加油,有什么意见或者想法可与我沟通哦
一起无聊做一些控件出来,嘿嘿!
加油
MSN:yellowyu2004@hotmail.com
有空再把做过的一些小控件放出来大家一块分享,希望能与大家,特别是喜欢做界面控件的同学交流,谢谢!
还有一点就是,在Codeproject就有一个例子了,我也是参考那个得来的,那个功能更强,嘿嘿
我就贴那个链接吧,哈哈
http://www.codeproject.com/kb/tabs/firefoxtabcontrol.aspx