WinForm自定义控件应用实例自定义控件应用实例
C#的WinForm有一些控件具备自绘的功能,这就意味着你可以对这些控件进行自绘,可以起到意想不到的视觉效果。本文所
述的以下控件就是通过一些简单的控件转变过来的。具体示例如下:
1、横向选项卡重绘:、横向选项卡重绘:
这里的“横向”对话框其实是通过一个TabControl进行“方向旋转”、重绘控件项等操作进行实现的。步骤如下:
①.Alignment:用于控制选项卡的方向(设置为Left)。
②.SizeMode:用于调整每个选项卡,默认是Normal(非自绘模式),此处应该设置为Fixed(固定模式),则允许自绘。
③.设置ItemSize(注意每一个选项卡因为是“横向”的,但是这些单元卡的Width或者是Height确实按照原来“竖向”的选项卡进行
处理的。因此Height其实是横向选项卡的“宽度”,而Width确实选项卡的“高度”,注意不要混淆)。
④.最后重绘DrawItem,这一步也就是最重要的(为了显示文字)。每次Draw_Item会在创建了TabPage之后被调用。此时你
应该设定绘制文字的起始点(定义X,Y)。
具体实现代码如下:
C#部分代码:
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));
}
VB.NET页面部分代码:
Private Sub tabControl1_DrawItem(sender As Object, e As DrawItemEventArgs)
e.DrawFocusRectangle()
e.DrawBackground()
e.Graphics.DrawString("标签" & Convert.ToString((e.Index + 1)), SystemFonts.DefaultFont, Brushes.Black, New PointF(e.Bounds.X + 5, e.Bounds.Y +
5))
End Sub
注意:程序的程序的DrawFocusRectangle和和DrawBackGound分别是绘制聚焦虚框和选定一个选项卡之后背景变成蓝色。如果省分别是绘制聚焦虚框和选定一个选项卡之后背景变成蓝色。如果省
略则无法呈现选中的效果。略则无法呈现选中的效果。
2、颜色选项卡重绘:、颜色选项卡重绘: