![]() |
Name des Verursachers eines Events?
An alle Delphi-Profis:
Wie ist es möglich, in einer Prozedur an den Namen des Event-Verursachers zu kommen? Ich denke, ich werde diese recht unbeholfene Formulierung meiner Frage mit einem konkreten Beispiel verdeutlichen:
Delphi-Quellcode:
Soweit so gut.
{...}
// In einer Schleife werden mehrere TextBox-Elemente erstellt, // welche die Namen menge0, menge1, menge2, ... tragen. nMenge := System.Windows.Forms.TextBox.Create; nMenge.Location := System.Drawing.Point.Create(0, LineNumber * LineSpace); // Hier wird der Name der TextBox festgelegt, // den ich später wieder ermitteln möchte: nMenge.Name := 'menge'+LineNumber.ToString; nMenge.Size := System.Drawing.Size.Create(55, 21); nMenge.Text := ''; nMenge.TextAlign := System.Windows.Forms.HorizontalAlignment.Center; LinePanel.Controls.Add(nMenge); // Jetzt wird das TextChanged-Ereignis der Box // mit der Prozedur Menge_TextChanged verknüpft: Include(nMenge.TextChanged, Menge_TextChanged); {...} Inc(LineNumber); {...} // Die Ereignisprozedur: procedure fRechnung.Menge_TextChanged(sender: System.Object; e: EventArgs); begin TEXTBOXNAME.Text := 'Irgendein Text'; end; Logischerweise würde ich aber gerne statt TEXTBOXNAME den richtigen Namen der TextBox erhalten, also im konkreten Fall: menge0, menge1, menge2, ... Dieser Name nützt mir aber als String auch nicht viel: Wie kann ich das Steuerelement ansprechen, wenn ich z.B. nur einen String mit dem Namen der TextBox habe? Kann mir jemand bei diesen Problemen behilflich sein? Ich probier schon den ganzen Tag herum... Vielen Dank! |
Re: Name des Verursachers eines Events?
Sollte doch im Parameter e drinne stehen diese Information.
|
Re: Name des Verursachers eines Events?
Den Namen des Event-Verursachers bekommst du natürlich über Sender (wie der Name schon sagt)
Diesen musst du erstmal auf das Object casten, welches du benötigst, also Beispielsweise TEdit(Sender).Name René |
Re: Name des Verursachers eines Events?
Äh ja. Sender natürlich. :oops:
|
Re: Name des Verursachers eines Events?
Mit TEdit(sender).Name geht das? Allright danke, werd ich probieren...
:lol: Greetz |
Re: Name des Verursachers eines Events?
Zitat:
Irgendsoein TDing dürfte es wohl nicht mehr geben. ;) |
Re: Name des Verursachers eines Events?
Wie jetzt? Ich nix verstehen, ich Anfänger...
Kannst du mir ein konkretes Codebeispiel liefern!? Bitte ? :cyclops: |
Re: Name des Verursachers eines Events?
Zitat:
|
Re: Name des Verursachers eines Events?
Zitat:
Ein Beispiel bitte?! Wie komm ich jetzt konkret auf den Namen und wie kann ich ihn als Objekt weiterverwenden? Danke |
Re: Name des Verursachers eines Events?
Hallo gerald,
als Win32 würde es so aussehen
Delphi-Quellcode:
wie das bei .Net aussieht, weiss ich nicht.
(sender as TTextBox).Name
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz