Serviceboy 发表于 2013-1-3 17:03:01

自定义控件——自绘

<div id="cnblogs_post_body">WinForm的一些控件具备自绘功能,这就意味着你可以对这些控件进行自绘,起到意想不到的效果。以下控件就是通过一些简单的控件转变过来的——
1、横向选项卡:

http://pic002.cnblogs.com/images/2012/343864/2012070714065156.jpg
这个“横向”对话框其实是通过一个TabControl进行“方向旋转”、重绘控件项等操作进行实现的。步骤如下:
1.1)Alignment:用于控制选项卡的方向(设置为Left)。
1.2)SizeMode:用于调整每个选项卡,默认是Normal(非自绘模式),此处应该设置为Fixed(固定模式),则允许自绘。
1.3)设置ItemSize(注意每一个选项卡因为是“横向”的,但是这些单元卡的Width或者是Height确实按照原来“竖向”的选项卡进行处理的。因此Height其实是横向选项卡的“宽度”,而Width确实选项卡的“高度”,注意不要混淆)。
1.4)最后重绘DrawItem,这一步也就是最重要的(为了显示文字)。每次Draw_Item会在创建了TabPage之后被调用。此时你应该设定绘制文字的起始点(定义X,Y)。代码如下:

<div class="cnblogs_code">private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)      {                e.DrawFocusRectangle();                e.DrawBackground();                e.Graphics.DrawString("标签" + (e.Index + 1), SystemFonts.DefaultFont, Brushes.Black, new PointF(e.Bounds.X + 5, e.Bounds.Y +                  5));      }
页: [1]
查看完整版本: 自定义控件——自绘