带叉叉按钮的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



posted @ 2008-03-06 12:11  yellowyu  阅读(1427)  评论(5编辑  收藏  举报