Laden...

ContextMenuStrip an Parent weiter reichen

Erstellt von Frokuss vor 4 Jahren Letzter Beitrag vor 4 Jahren 978 Views
F
Frokuss Themenstarter:in
158 Beiträge seit 2015
vor 4 Jahren
ContextMenuStrip an Parent weiter reichen

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...:

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

4.931 Beiträge seit 2008
vor 4 Jahren

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:


ctl.ContextMenuStrip = ContextMenuStrip;

F
Frokuss Themenstarter:in
158 Beiträge seit 2015
vor 4 Jahren

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

Frokuss