내 컨텍스트 메뉴 항목 중 하나에 아이콘을 추가하려고했지만 할 수 없습니다. 아무도 나를 도울 수 있습니까?System.Windows.Forms.MenuItem에 아이콘을 추가하는 방법?
가 여기에 내가 작성한 코드입니다 :
private System.Windows.Forms.ContextMenu notifyContextMenu;
private void foo() {
if (notifyIcon == null) {
notifyIcon = new System.Windows.Forms.NotifyIcon();
}
if (notifyContextMenu == null) {
notifyContextMenu = new System.Windows.Forms.ContextMenu();
notifyContextMenu.MenuItems.Add("Exit");
// How do I add an icon to this context menu item?
}
notifyIcon.ContextMenu = notifyContextMenu;
}
}
글쎄, 그건 정말 사실이 아니다. 예, 'Strip' 클래스는 최신 버전이지만 Windows Vista 이상에서 완전히 싫어하는 메뉴를 생성합니다. Windows에 메뉴 그리기를 요청하는 대신 .NET 코드를 사용하여 사용자 지정 그리기를 수행합니다. Windows XP에서는 모양이 좋아 보이며 Office XP에서 사용되는 사용자 지정 그리기 메뉴와 일치하지만 그 이후로 기술은 크게 발전했습니다. 노인성을 막기 위해이 못생긴 메뉴를 사용하는 것은 나에게는 꽤 어리석은 결정처럼 보입니다. 귀하의 응용 프로그램은 현대 버전의 Windows에서는 제대로 보이지 않습니다. –
네이티브 래퍼는 Windows Vista 이상에서 더 잘 보이지만 사용자 정의 렌더러 (http://code.google.com/p/szotar/source/browse/trunk/Client/)를 통해 스트립 클래스에서 동일한 효과를 얻을 수 있습니다. Szotar.WindowsForms/Base/NativeToolStripRenderer.cs –
동일하지 않습니다 ... (시도해 보았습니다. 다시 작성하고, 변경하고, 더 시도해 보았습니다. 동일하지 않습니다. * 네이티브 메뉴처럼 * 네이티브 메뉴처럼 동작하지 않습니다.) 그러나 실제로, 더 나은 ... –