Macht eine indizierte Steuerelement-array?

C# indiziert control-arrays-oder nicht? Ich würde gerne ein "button array" zum Beispiel mit 5 Tasten, die nur einen event-handler, die Griffe der index aller dieser 5-Steuerelemente (wie VB6 tut). Muss ich sonst schreiben Sie für jede dieser 5 Tasten, einen extra-event-handler. Und wenn ich 100 Tasten, ich brauche 100 event-Handler? Ich meine sowas:

TextBox1[i].Text="Example";

Könnte es codieren definitiv einfacher für mich, die Arbeit mit den control-arrays. Jetzt habe ich gesehen, dass C# hat zumindest keine sichtbaren array-Funktionen, die auf user-controls und kein "index" - Eigenschaft auf die Benutzer steuert. Also ich denke mal C# hat keine control-arrays, oder muss ich jedes element nennen von bekannten Namen.

Anstatt 100 Textfelder in einer for-Schleife 100 erhöht Werte, muss ich schreiben:

TextBox1.Text = Value1;
TextBox2.Text = Value2;
...
...
TextBox100.Text = Value100;

Viel mehr Arbeit + alle diese 100 event-Handler für jeweils ein zusätzliches Textfeld extra.

  • Jeder Elternteil control hat eine Eigenschaft .Controls, die Zugang zu einer Sammlung von untergeordneten Steuerelementen. Wenn Sie alle Ihre Textfelder/buttons innerhalb des gleichen übergeordneten Containers können Sie auf Ihnen durch die untergeordneten Steuerelemente Liste.
  • Sie weisen die gleichen event-handler, um mehrere Steuerelemente, die Sie nicht brauchen zu erstellen eine neue event-handler-Implementierung für jede control-Instanz.
  • Du kannst etwas Glück Implementierung von ICollection<T>, wo T : Steuern, aber Sie können nicht fügen Sie einen Ereignishandler für ein array.
  • Konnte nicht platzieren Sie alle Steuerelemente in einem array unter Verwendung von reflektion ab (einmal) und dann verwenden Sie es als ein array danach? Natürlich - wenn man nur nach den event-Handler gibt es andere Möglichkeiten, wie vorgeschlagen.
  • Die Belastung eines Benutzers ausgesetzt, um eine UI-Katastrophe mit hundert text-Boxen, die wiederholt werden muss, richtig abgestimmt mit dem Fegefeuer ein Programmierer verdient für eine. Seine nur fair.
  • Könnten Sie sagen, mehr -, warum alle Ihre Steuerelemente müssen die gleichen event-handler?

InformationsquelleAutor feedwall | 2012-07-23
Schreibe einen Kommentar