2011-07-06 3 views

답변

6

기본 컨텍스트 메뉴에서 항목을 비활성화 할 수는 없지만 새 항목을 만들어이 항목의 텍스트 상자를 사용자 정의 할 수 있습니다.

var contextMenu = new ContextMenu(); 
contextMenu.MenuItems.Add(new MenuItem("Copy", (s, ea) => textBox1.Copy())); 
contextMenu.MenuItems.Add(new MenuItem("Paste", (s, ea) => textBox1.Paste())); 
contextMenu.MenuItems.Add(new MenuItem("Undo", (s, ea) => textBox1.Undo())); 
contextMenu.MenuItems.Add(new MenuItem("Select All", (s, ea) => textBox1.SelectAll())); 
textBox1.ContextMenu = contextMenu; 

참고 : 구분 기호로 contextMenu.MenuItems.Add(new MenuItem("-"))을 사용하십시오.

+0

매우 빠른 해결책입니다. :) 하지만 좋은 생각인지, 다른 항목은 피하는거야? –

+0

@Marco는 기본적으로'textBox1.ContextMenu'가 null이며 내 운영체제가 이미지의 기본 컨텍스트 메뉴를 제공한다고 추측합니다. 따라서 선택 항목을 비활성화하는 방법은 없다고 생각합니다. 이 모든 것을 비활성화하려면'textBox1.ContextMenu = new ContextMenu();' –

+0

@Marco를 설정하십시오. 타겟 사용자가 오른쪽에서 왼쪽으로 읽는 순서 또는 이상하고 미친 내용을 필요로하지 않는다면 IME를 사용하면 메뉴를 사용자 정의하는 데 아무런 문제가 없습니다. 그냥 모든 기본적인 것들을 구현하는지 확인하십시오! –

관련 문제