Event wird nicht ausgelöst

Briefkasten

Erfahrenes Mitglied
Hallo,

ich hab eine Klasse geschrieben. Leider wird beim Aufruf in der Form1 das event in meiner Klasse nicht ausgelöst. Habt ihr eine Idee warum das so ist?

mfg martin

HTML:
rivate void panel1_Paint(object sender, PaintEventArgs e)
        {
            mv_fz.Gitterzeichnen(new Pen(Color.LightGray), 20, panel1,true);
            if (Linie.Checked.Equals(true))
            {
                mv_fz.LinieZeichnen(panel1);
                //ToDo
                //
            }

        }

klasse:
Code:
public float LinieZeichnen(Control control)
        {
            float a=1;
            control.Click += new System.EventHandler(this.control_Click);
 
            return a;
        }
 
        #endregion
 
        #region Eigenschaften
 
        public Color HintergrundFarbeW
        {
            get
            {
                //
                //ToDo Hintergrundfarbe von Windows "holen"
                //
                return _HintergrundFarbe;
            }
        }
        #endregion
 
        #region Ereignisse
        private void control_Click(object sender, System.EventArgs e)
        {
 
            MessageBox.Show("asdfadsfsadf");
        }
        #endregion

PS: später kommt in das event code um linien zu zeichnen (in der klasse)
 
Zuletzt bearbeitet:
Meine selbsterstellte in der Klasse also

PHP:
 private void control_Click(object sender, System.EventArgs e)
        {
            
            MessageBox.Show("asdfadsfsadf");
        }
 
Die Methode kann auch nicht im OnPaint aufgerufen werden. Die wird ja beim Click-Event aufgerufen.
Du solltest auch nicht das Click-Event im OnPaint abonieren. Jedes mal, wenn das Control neu gezeichnet wird, wird ein neuer EventHandler hinzugefügt. Klickst du dann auf das Control wird die Methode control_Click mehrfach aufgerufen, was zu ungewollten Nebeneffekten führt/führen kann.
 
Zurück