사용자 지정 컨트롤 인 배경 패널 (PannelloSfondo
)에 대한 사용자 지정 디자이너 (PannelloSfondoDesigner
)를 만들었습니다..NET Windows Forms 사용자 지정 디자이너가 메뉴를 새로 고치지 않습니다.
<Designer(GetType(PannelloSfondo.PannelloSfondoDesigner))>
Public Class PannelloSfondo
Inherits UserControl
Friend Class PannelloSfondoDesigner
Inherits ParentControlDesigner
Public Overrides Sub Initialize(ByVal component As IComponent)
MyBase.Initialize(component)
verbDock = New DesignerVerb("Dock to parent container", New EventHandler(AddressOf Me.OnDock))
verbUndock = New DesignerVerb("Undock from parent container", New EventHandler(AddressOf Me.OnUndock))
verbs = New DesignerVerbCollection()
If Me.Control.Dock = DockStyle.Fill Then
verbs.Add(verbUndock)
Else
verbs.Add(verbDock)
End If
End Sub
Public Overrides ReadOnly Property Verbs() As DesignerVerbCollection
Get
Return verbs
End Get
End Property
Private Sub OnDock(ByVal sender As Object, ByVal e As EventArgs)
'Dim verbo As DesignerVerb = DirectCast(sender, DesignerVerb)
verbs.Clear()
verbs.Add(verbDock)
Me.Control.Dock = DockStyle.Fill
End Sub
Private Sub OnUndock(ByVal sender As Object, ByVal e As EventArgs)
verbs.Clear()
verbs.Add(verbUndock)
Me.Control.Dock = DockStyle.None
End Sub
Public Overrides Function CanBeParentedTo(ByVal parentDesigner As IDesigner) As Boolean
Return True
End Function
Private verbs As DesignerVerbCollection = Nothing
Private verbDock As DesignerVerb
Private verbUndock As DesignerVerb
End Class
End Class
, 나는 작은 화살표를 클릭하여 상황에 맞는 메뉴가 나타납니다
나는 메뉴 항목을 클릭 이벤트가 해고되는 컨트롤이 도킹 :
하지만 메뉴 설명이 업데이트되거나 새로 고쳐지지 않습니다 ("부모 컨테이너에서 고정 해제"가 표시되어야 함). 메뉴를 보여 그럼 난 선택을 취소하기 위해 제어 외부를 클릭하면 다음 내가 화살표를 다시 클릭 오른쪽 메뉴 항목이 표시됩니다
어떻게 메뉴 항목을 새로합니까?! 감사합니다. .
그래을하지만 불행히도 그 해결되지 않는 아니 상쾌 : ( – vulkanino
@ vulkanino 업데이트 코드. – LarsTech
그냥 바위! 감사합니다. – vulkanino