Autor Beitrag
Neidhard von Reuental
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 268

XP
BDS 2006 Prof
BeitragVerfasst: Sa 11.03.06 13:01 
Hallo, folgendes Problem beschäftigt mich zur Zeit.
Ich habe ein dynamisches Array, welches zur Laufzeit mit PictureBoxen gefüllt wird. Diese PictureBoxen sollen auf DoubleClick-Ereignisse reagieren nur hab ich keine Ahnung wie ich den PictureBoxen diese Procedure zuweisen soll und wie ich auswerte welche PictureBox geklickt wurde.
Hat einer eine Idee und Tips?

Cu
Neid


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Sa 11.03.2006 um 12:03
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 11.03.06 13:10 
So geht es:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
    void MainFormLoad(object sender, System.EventArgs e)
    {
      pictureBox1.DoubleClick += new EventHandler(pictureBox1_DoubleClick);
    }
    
        void pictureBox1_DoubleClick(object sender, EventArgs e)
        {
          MessageBox.Show("Wer klickt mich?");
        }


In Delphi benutzt Du statt des += Operators die Prozedur "Include". Kannst Dir dazu mal den vom FormDesigner erzeugten Code ansehen, da wird die Prozedur auch benutzt, um Komponenten ihre Ereignisse zuzuweisen.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Neidhard von Reuental Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 268

XP
BDS 2006 Prof
BeitragVerfasst: So 12.03.06 09:26 
user profile iconChristian S. hat folgendes geschrieben:

In Delphi benutzt Du statt des += Operators die Prozedur "Include". Kannst Dir dazu mal den vom FormDesigner erzeugten Code ansehen, da wird die Prozedur auch benutzt, um Komponenten ihre Ereignisse zuzuweisen.


Genau das hat mir geholfen.
Kommt mir bald vor, als würdest du mir immer persönlich zur Seite stehen :) thx

Jetz, wo ich weiter im Buch suche, finde ich auch noch die Function ^^ (Delphi 2005 - Delphi programmieren mit dem .NET Framework S.139)

Hier mal ein Beispiel für alle die auch danach suchen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure TForm.PictureBoxAdd;
var
  l:integer; 
begin
  .
  .
  .
  AoPB[l].Tag:=l;  // In Tag wird die Eintragsnummer geschrieben, ist für die spätere Auswertung notwendig
  Include(AoPB[l].DoubleClick, Self.SelClick);  // AoPB ist ein Array of PictureBox - hier wird die Procedure SelClick mit der PictureBox verknüpft
end;

procedure TForm.SelClick(sender: System.Object; e: System.EventArgs);
var
  i:integer;
begin
  i:=Integer((sender as PictureBox).Tag);  //der Tag-Wert wird in i gespeichert
  MessageBox.Show('From Image:'+i.ToString,'Dbl_Click');  // MessageBox zeigt Nummer der geklickten PictureBox an
end;