[c#] WinForms ContextMenu에 구분 기호를 추가하는 방법은 무엇입니까?

내 통제권 안에 다음이 있습니다.

ContextMenu = new ContextMenu();
ContextMenu.MenuItems.Add(new MenuItem("&Add Item", onAddSpeaker));
ContextMenu.MenuItems.Add(new MenuItem("&Edit Item", onEditSpeaker));
ContextMenu.MenuItems.Add(new MenuItem("&Delete Item", onDeleteSpeaker));
ContextMenu.MenuItems.Add( ??? );
ContextMenu.MenuItems.Add(new MenuItem("Cancel"));

이 ContextMenu에 구분선을 추가하는 방법은 무엇입니까?



답변

나는 그것이 단지 대시라고 믿는다.

ContextMenu.MenuItems.Add("-");


답변

이것은 대시와 마찬가지로 작동하며 Winforms가 대시를 ToolStripSeparator로 변환한다고 생각합니다. 이 솔루션은 코드를 유지해야하는 모든 사람에게 더 분명하다고 생각합니다.

yourContextMenu.Items.Add(new ToolStripSeparator());


답변

WPF에서 :

ContextMenu.MenuItems.Add(new Separator());


답변

Designer를 사용하는 경우 메뉴 항목의 이름을 지정하는 것과 동일한 방식으로 단일 하이픈 “-“를 텍스트로 배치합니다. Enter 키를 누르면 구분 기호가 생성됩니다.


답변

텍스트 속성을 하이픈으로 설정합니다.


답변

가로 구분 기호는 멋지지만 대신 세로 구분 기호를 원한다면 어떨까요?

글쎄, 걱정하지 마라-당신은 하나를 가질 수 있습니다!

구분자 다음의 첫 번째 BarBreak속성을 trueon으로 설정 합니다 MenuItem.

var item = new MenuItem(text: "Settings", onClick: SomeFunction) { BarBreak = true };

여기에 이미지 설명 입력

MenuItems컬렉션에 항목을 추가하려면 : yourContextMenu.MenuItems.Add(item).


답변

아마도 이후 버전의 Visual Studio에서는이 작업을 더 간단하게 만들었습니다. VS 2012를 사용하고 있습니다. 양식 디자이너를 통해 구분 기호를 추가 할 수 있습니다. 1) MenuStrip을 선택 / 생성합니다. 2) “여기에 입력”에서 마우스 오른쪽 버튼을 클릭합니다. 3) “삽입”을 선택합니다. 4) “Separator”를 선택합니다. 5) 새 구분 기호를 위에 놓을 텍스트로 끕니다. 끝난.