0
.NET組件中是否有類似的東西,如果不是,如何重現它?ToolStrip LineStyles .Net
alt text http://lh6.ggpht.com/_1TPOP7DzY1E/S9Ap9jAPheI/AAAAAAAADK0/rNwXMyz0I9U/s800/Capture8.png
謝謝!
.NET組件中是否有類似的東西,如果不是,如何重現它?ToolStrip LineStyles .Net
alt text http://lh6.ggpht.com/_1TPOP7DzY1E/S9Ap9jAPheI/AAAAAAAADK0/rNwXMyz0I9U/s800/Capture8.png
謝謝!
不,沒有這種控制,但ToolStripControlHost Class將允許您創建自己的自定義ToolStrip控件。
更新:檢查該類我很快就颳起了
Public Class LineStyleMenuItem
Inherits Windows.Forms.ToolStripMenuItem
Private style As Drawing2D.DashStyle
Public Property LineStyle() As Drawing2D.DashStyle
Get
Return style
End Get
Set(ByVal value As Drawing2D.DashStyle)
style = value
End Set
End Property
Public Sub New(ByVal style As Drawing2D.DashStyle)
Me.style = style
End Sub
Private Sub LineStyleMenuItem_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
Const line_width As Integer = 6
Const padding As Integer = 6
Dim y As Single = CSng((Me.Height/2) - (line_width/2))
Dim p As New Drawing.Pen(Color.Black, line_width)
p.DashStyle = style
e.Graphics.DrawLine(p, padding, y, Me.Width - padding, y)
p.Dispose()
End Sub
End Class
您可以通過將項目添加到一個工具條下拉控件使用它:
dropdownbutton.DropDownItems.Add(New LineStyleMenuItem(Drawing2D.DashStyle.Dash))
dropdownbutton.DropDownItems.Add(New LineStyleMenuItem(Drawing2D.DashStyle.DashDot))
dropdownbutton.DropDownItems.Add(New LineStyleMenuItem(Drawing2D.DashStyle.DashDotDot))
dropdownbutton.DropDownItems.Add(New LineStyleMenuItem(Drawing2D.DashStyle.Dot))
dropdownbutton.DropDownItems.Add(New LineStyleMenuItem(Drawing2D.DashStyle.Solid))
並獲得點擊的項目風格像這樣:
Private Sub dropdownbutton_DropDownItemClicked(ByVal sender As Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles dropdownbutton.DropDownItemClicked
MsgBox(CType(e.ClickedItem, LineStyleMenuItem).LineStyle)
End Sub
有意思。但是,在主持之前,我應該首先創建東西來主持:) – serhio 2010-04-22 12:00:39
是的,這就是主意。有趣的是我沒有找到任何線型選擇工具,這意味着公衆中還沒有人做過。也許與自定義繪製項目組合框... – invert 2010-04-22 13:15:12