öğesini sağ tıklattığınızda İçerik Menüsü nasıl görüntülenir? .NET WinForms uygulamasına bir MFC uygulaması yerleştiriyorum. MFC uygulamasında, bir menüye veya bir içerik menüsü öğesine sağ tıklayabilir ve teşhis ve yapılandırma öğeleriyle başka bir bağlam menüsü gösterebiliriz. Bu işlevselliği .NET'e taşımaya çalışıyorum ama sorun yaşıyorum.Menü Öğesi
Sağ tıklamayı yakalayabildim, alttaki menünün tıklatılmasını devre dışı bıraktım ve doğru konumdaki bir içerik menüsü açtım, ancak orijinal menü odağı kaybettiğinde kaybolur. MFC
, biz TPM_RECURSE bayrağıyla TrackPopupMenuEx arayarak yeni bağlam menüsünü gösterir. .NETContextMenu ve daha yeni ContextMenuStrip sınıflar sadece yöntemini göster var. Bunu .NET'te nasıl yapacağını bilen var mı?
DÜZENLEME Ben çağırmak/a'dan p'ye kadar TrackPopupMenuExkullanarak denedi, ama bu bizim uygulamada yersiz görünen bir ContextMenuStrip yerine bir ContextMenu kullanmaya sınırlar
. Ayrıca hala düzgün çalışmıyor. Yeni MenuStrip ve ContextMenuStrip ile çalışmaz.
Ayrıca, bir içerik menüsü ekleyip ekleyemeyeceğimi görmek için alt sınıf ToolStripMenuItem'i denedim. MenuStrip için çalışıyor, ancak ContextMenuStrip hala sağ tıklama olaylarının tıklamalar olarak geçmesine izin veriyor.
Neden menü öğesi üzerine geldiğinizde, daha fazla öğeleri gösterir, böylece sadece bir alt menüsünü kullanabilirsiniz? –
Menülerin çoğunun zaten alt menüleri var. Yöneticiler için menüler güvenliğini ayarlamak için bu özelliği kullanırız. Örneğin, bir menüye sağ tıklayın ve devre dışı bırakılacak şekilde ayarlayın. Bu veritabanında saklanır ve tüm kullanıcılar için etkilenir. –