![]() |
Re: Auf Control zugraufen per Schleife?
Ich dachte ich greife dein Beispiel auf. ;)
Zitat:
|
Re: Auf Control zugraufen per Schleife?
Delphi sagt mir aber, das ein ArrayTyp erforderlich ist. Soweit war ich auch schon, das klappt leider nicht.
|
Re: Auf Control zugraufen per Schleife?
![]()
Code:
private void SetChildrenVisibility(Control parent, bool visible)
{ foreach(Control control in parent.Controls) { control.Visible = visible; } } this.SetChildrenVisibility(this, false); |
Re: Auf Control zugraufen per Schleife?
ich nutze jedoch delphi
|
Re: Auf Control zugraufen per Schleife?
Das habe ich bereits bemerkt. Wenn du aber tatsächlich für das .NET Framework schreibst, und nicht die VCL.NET benutzt, dann ist es letztlich nur eine Frage der anderen Syntax.
|
Re: Auf Control zugraufen per Schleife?
Ich habe das kurze Codestückchen mal eben kompiliert und die Exe im Reflector betrachtet. Die Umschaltung auf Delphi ergab:
Delphi-Quellcode:
Warum jetzt die Variable control1 nirgendwo deklariert wird, kann ich dir aber nicht sagen. :gruebel: Evtl. ein kleines Problem im Programm, denn die VB-Variante scheint korrekt zu sein:
procedure MainForm.SetChildrenVisibility(parent: Control; visible: boolean);
begin for control1 in parent.Controls do begin control1.Visible := visible end end;
Code:
Private Sub SetChildrenVisibility(ByVal parent As Control, ByVal visible As Boolean)
Dim control1 As Control For Each control1 In parent.Controls control1.Visible = visible Next End Sub |
Re: Auf Control zugraufen per Schleife?
Auch wenn obriges beispiel funtionieren sollte, hilft es nciht weiter. Immerhin will ich nicht alle sondern ausschlißlich ein paar Panels und Buttons sichbar (und andocken) machen.
|
Re: Auf Control zugraufen per Schleife?
Bevor hier Mathias noch 5-mal sagt, dass es geht und du darauf sagst, dass es nicht geht und ... :freak:
Ich habe deine Problem so aufgefasst, dass du auf ein paar Controls in einer Schleife zugreifen willst: Zitat:
Mein kleiner Minischnipdel macht nix anderes als Visible der Controls eines Forms/Panels/TabSheets/whatsoever auf true oder auf false zu setzen. Die Syntax /IST/ kompatibel zu D.Net auch wenn ich zuviel Stolz habe um es selbst auszuprobieren. ;) Was Delphi vielleicht nicht schnallt ist das hier:
Delphi-Quellcode:
auch wenn's dann kkomisch aussieht, benenne die Variable einfach mal um. ;))
Control : Control;
Nachtrag:
Delphi-Quellcode:
Aha! nun kommen wir doch der Sache etwas näher. ;)
Auch wenn obriges beispiel funtionieren sollte, hilft es nciht weiter. Immerhin will ich nicht alle sondern ausschlißlich ein paar Panels und Buttons sichbar (und andocken) machen.
Werfe betreffende Controls in einen Container (ArrayList, ControlCollection, ...) und nun kansst du durch den iterieren. p.s.: Mathias' Code war natürlich falsch. :lol: |
Re: Auf Control zugraufen per Schleife?
Zitat:
|
Re: Auf Control zugraufen per Schleife?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:42 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