Avatar billede charlie2000 Nybegynder
31. oktober 2006 - 09:57 Der er 9 kommentarer og
1 løsning

definer en event for en runtime oprettet label

hejsa

Jeg sidder og leger med at oprette labels under runtime.
Jeg er kommet til at jeg skal give labels'ne en event når der trykkes på dem.
Men jeg får hele tiden flg. fejl:

SecurityException was unhandled
Request failed.


Funktionen som skal være event for dem:

private void label_Click(object sender, System.EventArgs e)
{
    MessageBox.Show("hej");
    Process runprog = new Process();
    runprog.StartInfo.WorkingDirectory = "c:\\";
    runprog.StartInfo.FileName = "Notepad.exe";
    runprog.Start();
}


jeg har flg. kode til at oprette labels:

for (int i = 0; i < labels.Length; i++)
{
    labels[i] = new Label();
    labels[i].Parent = catbox1;
    labels[i].Cursor = Cursors.Hand;
    labels[i].AutoSize = true;
    labels[i].BackColor = System.Drawing.Color.Transparent;
    labels[i].Font = new Font("Verdana", 12, System.Drawing.FontStyle.Bold);
    labels[i].Name = "a" + i;
    labels[i].Text = linksplit[i] + pathsplit[i];
    labels[i].Click += new EventHandler(label_Click);
    this.Controls.Add(labels[i]);
    labels[i].Location = new System.Drawing.Point(200, (i * 16) + 160);
}                   


der er sikkert en herinde der lige hurtigt kan se hvad det er jeg gør galt.
Avatar billede charlie2000 Nybegynder
31. oktober 2006 - 10:10 #1
lige en ting jeg glemte at sige..

fejlen kommer når programmet kører og der trykkes på en af labels'ne
Avatar billede mh6000 Nybegynder
31. oktober 2006 - 12:00 #2
Har du prøvet at slette følgende:
    Process runprog = new Process();
    runprog.StartInfo.WorkingDirectory = "c:\\";
    runprog.StartInfo.FileName = "Notepad.exe";
    runprog.Start();

???
Avatar billede charlie2000 Nybegynder
31. oktober 2006 - 12:21 #3
ja det har jeg også prøvet og den kommer stadig med den samme fejl
Avatar billede mh6000 Nybegynder
31. oktober 2006 - 12:39 #4
Prøv dette,, det virker hos mig :-)


        public Form1()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //
            // TODO: Add any constructor code after InitializeComponent call
            //

     
    for (int i = 0; i < labels.Length; i++)
  {
    labels[i] = new Label();
    //labels[i].Parent = catbox1;
    labels[i].Cursor = Cursors.Hand;
    labels[i].AutoSize = true;
    labels[i].BackColor = System.Drawing.Color.Transparent;
    labels[i].Font = new Font("Verdana", 12, System.Drawing.FontStyle.Bold);
    labels[i].Name = "a" + i;
    labels[i].Text = "Label " + i;
    labels[i].Click += new EventHandler(label_Click);
    this.Controls.Add(labels[i]);
    labels[i].Location = new System.Drawing.Point(200, (i * 16) + 160);
  }                   
 
    }

    private void label_Click(object sender, System.EventArgs e)
    {
      MessageBox.Show("hej");
//      Process runprog = new Process();
//      runprog.StartInfo.WorkingDirectory = "c:\\";
//      runprog.StartInfo.FileName = "Notepad.exe";
//      runprog.Start();
    }
Avatar billede charlie2000 Nybegynder
31. oktober 2006 - 12:42 #5
så siger den sgu hej :-D
Avatar billede mh6000 Nybegynder
31. oktober 2006 - 12:45 #6
Du må gerne lukke spørgsmålet :-)
Avatar billede charlie2000 Nybegynder
31. oktober 2006 - 12:48 #7
hehe smid lige et svar så får du point
Avatar billede mh6000 Nybegynder
31. oktober 2006 - 12:51 #8
svar :-)
Avatar billede mh6000 Nybegynder
31. oktober 2006 - 12:51 #9
Sorry svar :-)
Avatar billede charlie2000 Nybegynder
31. oktober 2006 - 13:06 #10
og tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester