2010-04-22 2 views

답변

1

아니요 이러한 컨트롤이 없지만 ToolStripControlHost Class을 사용하면 사용자 지정 ToolStrip 컨트롤을 만들 수 있습니다.

업데이트 : 당신은 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 
+0

흥미 롭습니다. 그러나 호스팅하기 전에 먼저 호스트 할 대상을 만들어야합니다. – serhio

+0

그래, 그게 좋은 생각이야. 재미있게도 선 스타일 선택기 도구를 찾지 못했습니다. 대중에게 아무도 아직 만들지 않았습니다. 아마도 사용자 정의 그려진 항목이있는 콤보 상자 일 것입니다 ... – invert