선택한 폴더에있는 모든 폴더, 하위 폴더 및 파일의 목록을 포함하는 컨텍스트 메뉴를 만듭니다. 메뉴를 클릭하면 파일과 폴더가 열리길 원하지만 menuitem에 하위 항목이 있으면 click 이벤트가 등록되지 않습니다.하위 항목이있는 메뉴 항목에서 클릭 이벤트 받기 (C#)
void Foo(string Title)
{
MenuItem = new MenuItem(Title);
MenuItem.Click += new EventHandler(MenuItem_Click);
ContextMenu.MenuItems.Add(MenuItem);
}
void MenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("This box will only show when menuitems without subitems are clicked");
}
메뉴 항목에 하위 항목이 있어도 어떻게 클릭 이벤트를 실행할 수 있습니까?
을 무시할 수의 ContextMenu
하위 클래스를 시도 할 수 대부분의 폴더, 파일, 웹 사이트 등을 매우 쉽게 사용할 수 있습니다. 내 생각은 오른쪽 클릭 메뉴가있는 트레이 아이콘으로 사용하지 않을 때는 쉽게 액세스하고 숨길 수있는 다른 컨트롤을 볼 수 없기 때문입니다. 이벤트를 발생시키는 방법은 없습니다. –
거친 해킹없이, 나는 의심한다. "[이 디렉토리]"라는 이름으로 각 디렉토리 아래에 "리프"메뉴 항목을 추가 할 수 있습니다. 네비게이션을 클릭하는 사용자와 "이 디렉토리 열기"를 클릭하는 것의 차이를 어떻게 감지합니까? –
예, "리프"메뉴 항목은 현재 구현이지만 많이 좋아하지는 않습니다. 사용자는 탐색 할 때 클릭 할 필요가 없습니다. 팝업 메뉴는 자동입니다 (더블 클릭 이벤트가 지원되는 경우 혼동을 최소화하기위한 옵션 일 수 있습니다). –