新建一个Visual Basic的 Windows 控件库。在项目中添加两个用户控件,一个为:LineH 水平分隔线 ,一个为:LineV垂直分隔线 ,代码如下。经过生成.dll,在其他项目引用,就可以使用。
分割线控件下载地址:http://download.csdn.net/source/1447072
在界面中使用分割线的例子:看日期下面的分割线。
=============水平分隔线 LineH.vb的完整代码=============
'
'''水平分隔线 LineH.vb的完整代码
Public Class LineH Class LineH
Inherits System.Windows.Forms.UserControl
" Windows 窗体设计器生成的代码 "#Region " Windows 窗体设计器生成的代码 "
Public Sub New()Sub New()
MyBase.New()
''''该调用是 Windows 窗体设计器所必需的。
InitializeComponent()
''''在 InitializeComponent() 调用之后添加任何初始化
End Sub
''''UserControl1 重写 dispose 以清理组件列表。
Protected Overloads Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
''''Windows 窗体设计器所必需的
Private components As System.ComponentModel.IContainer
''''注意: 以下过程是 Windows 窗体设计器所必需的
''''可以使用 Windows 窗体设计器修改此过程。
''''不要使用代码编辑器修改它。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Sub InitializeComponent()
''''
''''LineH
''''
Me.Name = "LineH"
Me.Size = New System.Drawing.Size(10, 2)
End Sub
#End Region
Private Sub LineH_Paint()Sub LineH_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint
Dim g As Graphics = e.Graphics
Dim r As Rectangle = Me.ClientRectangle
Dim darkPen As Pen = New Pen(SystemColors.ControlDark, 1)
Dim LightPen As Pen = New Pen(Color.White)
''''用暗色调处理上边缘
g.DrawLine(darkPen, r.Left, r.Top, r.Right, r.Top)
''''用亮色调处理下边缘
g.DrawLine(LightPen, r.Left, r.Top + 1, r.Right, r.Top + 1)
End Sub
End Class
Public Class LineH Class LineH
Inherits System.Windows.Forms.UserControl
" Windows 窗体设计器生成的代码 "#Region " Windows 窗体设计器生成的代码 "
Public Sub New()Sub New()
MyBase.New()
''''该调用是 Windows 窗体设计器所必需的。
InitializeComponent()
''''在 InitializeComponent() 调用之后添加任何初始化
End Sub
''''UserControl1 重写 dispose 以清理组件列表。
Protected Overloads Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
''''Windows 窗体设计器所必需的
Private components As System.ComponentModel.IContainer
''''注意: 以下过程是 Windows 窗体设计器所必需的
''''可以使用 Windows 窗体设计器修改此过程。
''''不要使用代码编辑器修改它。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Sub InitializeComponent()
''''
''''LineH
''''
Me.Name = "LineH"
Me.Size = New System.Drawing.Size(10, 2)
End Sub
#End Region
Private Sub LineH_Paint()Sub LineH_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint
Dim g As Graphics = e.Graphics
Dim r As Rectangle = Me.ClientRectangle
Dim darkPen As Pen = New Pen(SystemColors.ControlDark, 1)
Dim LightPen As Pen = New Pen(Color.White)
''''用暗色调处理上边缘
g.DrawLine(darkPen, r.Left, r.Top, r.Right, r.Top)
''''用亮色调处理下边缘
g.DrawLine(LightPen, r.Left, r.Top + 1, r.Right, r.Top + 1)
End Sub
End Class
=============垂直分隔线 LineV.vb的完整代码=============
'
'''垂直分隔线 LineV.vb的完整代码
Public Class LineV Class LineV
Inherits System.Windows.Forms.UserControl
" Windows 窗体设计器生成的代码 "#Region " Windows 窗体设计器生成的代码 "
Public Sub New()Sub New()
MyBase.New()
''''该调用是 Windows 窗体设计器所必需的。
InitializeComponent()
''''在 InitializeComponent() 调用之后添加任何初始化
End Sub
''''UserControl 重写 dispose 以清理组件列表。
Protected Overloads Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
''''Windows 窗体设计器所必需的
Private components As System.ComponentModel.IContainer
''''注意: 以下过程是 Windows 窗体设计器所必需的
''''可以使用 Windows 窗体设计器修改此过程。
''''不要使用代码编辑器修改它。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Sub InitializeComponent()
''''
''''LineV
''''
Me.Name = "LineV"
Me.Size = New System.Drawing.Size(2, 10)
End Sub
#End Region
Private Sub LineV_Paint()Sub LineV_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint
Dim g As Graphics = e.Graphics
Dim r As Rectangle = Me.ClientRectangle
Dim darkPen As Pen = New Pen(SystemColors.ControlDark, 1)
Dim LightPen As Pen = New Pen(Color.White)
''''用暗色调处理左边缘
g.DrawLine(darkPen, r.Left, r.Top, r.Left, r.Bottom)
''''用亮色调处理右边缘
g.DrawLine(LightPen, r.Left + 1, r.Top, r.Left + 1, r.Bottom)
End Sub
End Class
Public Class LineV Class LineV
Inherits System.Windows.Forms.UserControl
" Windows 窗体设计器生成的代码 "#Region " Windows 窗体设计器生成的代码 "
Public Sub New()Sub New()
MyBase.New()
''''该调用是 Windows 窗体设计器所必需的。
InitializeComponent()
''''在 InitializeComponent() 调用之后添加任何初始化
End Sub
''''UserControl 重写 dispose 以清理组件列表。
Protected Overloads Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
''''Windows 窗体设计器所必需的
Private components As System.ComponentModel.IContainer
''''注意: 以下过程是 Windows 窗体设计器所必需的
''''可以使用 Windows 窗体设计器修改此过程。
''''不要使用代码编辑器修改它。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Sub InitializeComponent()
''''
''''LineV
''''
Me.Name = "LineV"
Me.Size = New System.Drawing.Size(2, 10)
End Sub
#End Region
Private Sub LineV_Paint()Sub LineV_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint
Dim g As Graphics = e.Graphics
Dim r As Rectangle = Me.ClientRectangle
Dim darkPen As Pen = New Pen(SystemColors.ControlDark, 1)
Dim LightPen As Pen = New Pen(Color.White)
''''用暗色调处理左边缘
g.DrawLine(darkPen, r.Left, r.Top, r.Left, r.Bottom)
''''用亮色调处理右边缘
g.DrawLine(LightPen, r.Left + 1, r.Top, r.Left + 1, r.Bottom)
End Sub
End Class
在win2000 + vs2003编译通过。