📄 curvedline.vb
字号:
Imports System
Imports System.Collections
Imports System.ComponentModel
Imports System.Drawing
Imports System.Data
Imports System.Windows.Forms
Imports System.Drawing.Drawing2D
Namespace Microsoft.Samples
''' <summary>
''' Summary description for CurvedLine.
''' </summary>
Public Class CurvedLine
Inherits LineBase
Private m_curveType As CurvedLineTypes
Public Sub New()
MyBase.New()
m_curveType = CurvedLineTypes.UpperLeftQuarterCirle
End Sub
<Category("Line Properties"), DefaultValue(GetType(CurvedLineTypes), "CurvedLineTypes.LowerLeftQuarterCirle")> _
Public Property CurveType() As CurvedLineTypes
Get
Return m_curveType
End Get
Set
m_curveType = value
Invalidate()
End Set
End Property
Protected Overloads Overrides Sub LineBase_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs)
Dim doubleWidth As Integer = Width * 2
Dim doubleHeight As Integer = Height * 2
Dim bounds As New Rectangle(0, 0, Width * 2, Height * 2)
bounds.Inflate(-Thickness / 2, -Thickness / 2)
pen = New Pen(ForeColor, Thickness)
If AntiAlias Then
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias
End If
Select Case m_curveType
Case CurvedLineTypes.UpperLeftQuarterCirle
e.Graphics.DrawArc(pen, bounds, 180F, 90F)
Exit Select
Case CurvedLineTypes.UpperRightQuarterCirle
bounds.Offset(-Width, 0)
e.Graphics.DrawArc(pen, bounds, 270F, 90F)
Exit Select
Case CurvedLineTypes.LowerLeftQuarterCirle
bounds.Offset(0, -Height)
e.Graphics.DrawArc(pen, bounds, 90F, 90F)
Exit Select
Case CurvedLineTypes.LowerRightQuarterCircle
bounds.Offset(-Width, -Height)
e.Graphics.DrawArc(pen, bounds, 0, 90)
Exit Select
Case Else
Exit Select
End Select
End Sub
End Class
End Namespace
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -