myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » GUI: Windows-Forms » ContextMenuStrip an Parent weiter reichen
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

ContextMenuStrip an Parent weiter reichen

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Frokuss
myCSharp.de-Mitglied

Dabei seit: 26.08.2015
Beiträge: 151


Frokuss ist offline

ContextMenuStrip an Parent weiter reichen

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Guten Abend,

ich habe ein ContextMenuStrip erzeugt. Dies weise ich einem Panel (eigene Klasse) zu, welches komplett mit Labels bedeckt ist. Wie kann ich beim rechtsklick auf das Label das ContextMS im Panel aufrufen? Mit den anderen Events geht das irgendwie ziehmlich einfach...:

C#-Code:
public class ListenElementDetail : Panel(){
        public ListenElementDetail (){
            Label l = new Label();//erzeugt mehrere Label
            PipeEvents(l);
        }

        private void PipeEvents(Control ctl) {
            ctl.Click += new EventHandler(Evt_LabelClick);
            ctl.DoubleClick += new EventHandler(Evt_LabelDblClick);
            //weitere Events...

            //ctl.ContextMenuStrip = //hier habe ich die Probleme...
        }

        //Exemplarisches Event - was das Event an den Parent weiter reicht (sagt man da so?)
        private void Evt_LabelClick(object sender, EventArgs evt) {
            this.OnClick(evt);
        }
}

Vielleicht kann mi da ja jemand weiter helfen...

Danke :-)
Frokuss
30.11.2019 22:26 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Th69
myCSharp.de-Poweruser/ Experte

avatar-2578.jpg


Dabei seit: 01.04.2008
Beiträge: 3.402
Entwicklungsumgebung: Visual Studio 2015/17


Th69 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Solange du keine eigene Mausklickbehandlung in untergeordneten Controls hast, wird eigentlich automatisch das Kontextmenü des übergeordneten Elements (sofern vorhanden, sonst weiter nach oben bis hin zur Form delegiert) aufgerufen.

Daher die Frage, warum du die Mausklicks weiter delegierst?

Du kannst aber natürlich auch dem Label dasselbe ContextMenuStrip des Panels zuweisen:

C#-Code:
ctl.ContextMenuStrip = ContextMenuStrip;
01.12.2019 08:54 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Frokuss
myCSharp.de-Mitglied

Dabei seit: 26.08.2015
Beiträge: 151

Themenstarter Thema begonnen von Frokuss

Frokuss ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Danke dir :-) Habe noch ein paar echt doofe Fehler gefunden... aber das mit dem MouseClick-Event hat mir weiter geholfen :-)

Frokuss
01.12.2019 15:48 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 07.12.2019 18:15