2014-11-07 3 views
1

내가 비주얼 스튜디오 스타일이 추가 Ruttons의 ToolStrip의 제거를 구현하려는 ToolStrip에 버튼을 제거 구현하기 위해, 내가 어떻게 이것을 달성 할 수 있습니까?어떻게 비주얼 스튜디오 스타일이 추가

시작하는 방법을 잘 모르겠으므로 winforms에 대한 많은 경험이 없습니다.

좋습니다.

+0

[this one] (http://www.telerik.com/products/winforms/ribbonbar.aspx)와 같은 몇 가지 플러그인이 있습니다. (실제로 매우 유용합니다) :) 또는 [이 하나] (https://visualstudiogallery.msdn.microsoft.com/D15AE4CD-379A-41A0-BCF8-1013396175CE) – jbutler483

+0

@ jbutler483 이것은 꽤 쉽습니다. 타사 소프트웨어를 사용할 필요없이 구현할 수 있습니다. – InBetween

+0

@InBetween 구현보다 스타일을 더 많이 생각했습니다. – jbutler483

답변

1

언뜻보기에는 어렵지 않습니다.

이미지 또는 텍스트없이 ToolStripToolStripDropDownButton을 추가하기 만하면됩니다. 그것은 외모를 어느 정도 비슷하게 보일 것입니다.

"추가 또는 제거 단추"캡션이있는 ToolStripMenuItem이 하나의 드롭 다운 단추에 추가하십시오. 우리는 그것을 AddRemoveMenuItem이라고 부를 것입니다.

AddRemoveMenuItem의 하위 메뉴 항목에 구성 가능한 모든 내용을 나타내는 메뉴 항목이 표시됩니다 (ToolStripItem). 메뉴 항목의 Tag 속성을 통해 메뉴 항목과 구성 가능한 도구 모음 항목을 연결할 수 있습니다 (ToolStripMenuItem 속성을 추가하여 ToolStripItem LinkedToolStripItem { get; set; } 속성을 추가 할 수도 있지만 그만한 가치는 없다고 생각합니다).

이 모든 "링크 된"메뉴 항목은 연결된 도구 모음 항목의 Visible 속성을 전환하고 이에 따라 Checked 상태를 동기화 할 Click 이벤트를 처리해야합니다.

내가 할 거라고 다음과 같은 방법이 :

linkedMenuItem.Click += (sender, e) => linkedMenuItem.Checked = !linkedMenuItem.Checked; 
linkedMenuItem.CheckedChanged += 
    (sender, e) => 
    { 
     var linkedToolStripItem = linkedMenuItem.Tag as ToolStripItem; 

     if (linkedToolStripItem != null) 
     { 
      linkedToolStripItem.Visible = linkedMenuItem.Checked; 
     } 
    }; 

응용 프로그램을 시작하는 등 앱의 기본 설정, 사용자 설정에 Checked 상태에 따라 링크 된 메뉴 항목을 설정하고 수행됩니다.