Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Mit Button anderen Button auslösen (https://www.delphipraxis.net/16795-mit-button-anderen-button-ausloesen.html)

EvilDragon 23. Feb 2004 14:47


Mit Button anderen Button auslösen
 
Hi, wollt mal fragen ob dieses geht, denn das hab ich bisher noch nciht wirklich wo gesehen...

form1.button1 saul etwas ausführen....
der benutzer sieht aber nur form2.button und wenn er diesen klickt soll der form1.button1 ausgeführt werden...

also form2.button drücken und soll form1.button ausführen bzw. ansprechen

Pseudemys Nelsoni 23. Feb 2004 14:58

Re: Mit Button anderen Button auslösen
 
Delphi-Quellcode:
Form1.Button1Click(self);

EvilDragon 23. Feb 2004 16:21

Re: Mit Button anderen Button auslösen
 
danke ;)

CalganX 23. Feb 2004 16:33

Re: Mit Button anderen Button auslösen
 
Hi,
allerdings halte ich
Delphi-Quellcode:
Button1.Click
für wesentlich sinnvoller, denn es ist ja nicht garantiert, dass das OnClick-Ereignis auch wirklich Button1Click heißt... ;)

Jens Schumann 23. Feb 2004 16:39

Re: Mit Button anderen Button auslösen
 
Hallo EvilDragon,
der Vorschlag von Pseudemys Nelsoni funktioniert - keine Frage -
Ich halte diese Art jedoch für nicht so geschickt. Das hängt damit zusammen,
dass ich ein grundsätzlicher Gegner von Programmlogik innerhalb eines Eventhandlers
bin. Ich bemühe mich grundsätzlich nur Methoden innerhalb eines Eventhandlers
aufzufrufen. Damit hätte sich Deine Frage etwa so gestellt: Wie kann ich eine
Methode von Form1 in Form2 aufrufen.
Durch Programmlogik innerhalb eines Eventhandlers wird evt. dein Programm
abhänigig vom GUI-Design. Das sollte auf jedenfall vermieden werden.
Beispiel:
Wenn Du Daten in einer Stringliste verwaltest und dafür eine TListbox nimmst.
Jetzt arbeiten an mehreren Stellen Algorithmen mit der Stirngliste (aus der Listbox).
Alles kein Problem. Bis irgend jemand kommt und sagt: Die Listbox ist aber öde.
Ich möchte einen TreeView o. Listview. Schon ist Dein Problem da.
Wenn Du die Stingliste in einem TStringList verwaltet hättest und die TListbox nur zur
Anzeige verwendet hättest könntest Du sagen: Kein Problem.

Delphi-Quellcode:
Form1.Button1Click(self);
Frage: Wer ist dann innerhalb des Eventhandlers der Sender ?

IronEddie 25. Feb 2004 13:42

Re: Mit Button anderen Button auslösen
 
So kann man auch den Sender des Events mitgeben:

Delphi-Quellcode:
Form1.Button1Click(sender);
Sender ist der Sender des aktuellen Events


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz