Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[C#] Dynamisch click event

Pagina: 1
Acties:
  • 166 views

  • xzaz
  • Registratie: Augustus 2005
  • Laatst online: 13:53
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void LoadKlassen()
        {
            OdbcCom = new System.Data.Odbc.OdbcCommand("SELECT * FROM groepen ORDER BY id", OdbcCon);
            OdbcDR = OdbcCom.ExecuteReader();
            int x = 0;
            while (OdbcDR.Read())
            {
                x = x + 25; // Geef positie onder elkaar
                Button KlasButton = new Button();
                KlasButton.Location = new Point(5, x);
                KlasButton.Width = 180;
                KlasButton.Text = Convert.ToString(OdbcDR[1]);

                this.Controls.Add(KlasButton);

                //txtLog.AppendText(">> " + OdbcDR[0] + " >> " + OdbcDR[1] + " >> " + OdbcDR[2] + "\r\n");
            }
        }

Aloha, in de bovenstaande code haal ik via een Query de gegevens uit een database en maak voor elke record een Button aan "KlasButton". Nu zou ik graag willen dat ik bij elke button een click_event willen maken.

Nu was ik aan het puzzelen en kwam op het voglende:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        private void LoadKlassen()
        {
            OdbcCom = new System.Data.Odbc.OdbcCommand("SELECT * FROM groepen ORDER BY id", OdbcCon);
            OdbcDR = OdbcCom.ExecuteReader();
            int x = 0;
            while (OdbcDR.Read())
            {
                x = x + 25; // Geef positie onder elkaar
                Button KlasButton = new Button();
                KlasButton.Location = new Point(5, x);
                KlasButton.Width = 180;
                KlasButton.Text = Convert.ToString(OdbcDR[1]);
                this.Controls.Add(KlasButton);
                this.KlasButton_click += System.EventHandler(this.KlasButton_click);
                //txtLog.AppendText(">> " + OdbcDR[0] + " >> " + OdbcDR[1] + " >> " + OdbcDR[2] + "\r\n");
            }
        }

Helaas krijg ik dan de error:
"Error 2 'System.EventHandler' is a 'type', which is not valid in the given context"
Waarom niet? En hoe kan ik het oplossen?

Schiet tussen de palen en je scoort!


  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 14:59
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        public Form1() {
            InitializeComponent();

            Button bla = new Button();
            bla.Location = new Point(50, 50);
            bla.Size = new Size(50, 50);
            bla.Text = "Test";
            bla.Visible = true;
            bla.BringToFront();
            bla.Click += new System.EventHandler(this.Test_Onclick);
            this.Controls.Add(bla);
        }

        private void Test_Onclick(object sender, EventArgs e) {
            MessageBox.Show("test");
        }


Zoiets zul je moeten gebruiken.

Toch maar even getest, dit zou moeten werken volgens mij.

[ Voor 96% gewijzigd door urk_forever op 17-04-2008 20:34 ]

Hail to the king baby!


  • whoami
  • Registratie: December 2000
  • Laatst online: 19:48
Compiler errors lezen, begrijpen, eventueel een tutorial / manual / syntax ref opsnorren over hoe je nu een event-handler aan een event moet koppelen in C# is nu ook zo moeilijk niet ....

https://fgheysels.github.io/


Dit topic is gesloten.