AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Durch Array mehrere Label auf visible setzen

Ein Thema von Mr_Rollercoaster · begonnen am 13. Jul 2007 · letzter Beitrag vom 16. Jul 2007
 
Mr_Rollercoaster

Registriert seit: 25. Mai 2007
Ort: Mechernich
9 Beiträge
 
#1

Durch Array mehrere Label auf visible setzen

  Alt 13. Jul 2007, 11:20
Hallo zusammen!

Seit ein paar Tagen versuche ich in meinem Programm etwas zu realisieren, finde aber für .NET leider keine Lösung.

Ich möchte bei öffnen des Forms nur ein NumericUpDown anzeigen, mit dem man auswählen kann, wieviele Labels und TextBoxen angezeigt werden.

Ich habe also diese alle auf Visible := false gesetzt.

Was ich bisher versucht hab, ist ein Array zu erstellen, in dem die mögliche Anzahl des NumericUpDown jeweils vor der entsprechenden Durchnummerierung der Labels steht.
Ein kleiner Auszug daraus den ich zum testen benutze:
Delphi-Quellcode:
const
nupdolabel : array[1..17] of Word = (2,1,2,3,4, 3,1,2,3,4,5,6,7,8, 4,1,2,3,4,5,6,7,8,9,10,11,12, 5,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
Zur Erklärung (ich weiß nciht ob dies so überhaupt möglich ist):
Wenn im NumericUpDown "2" gewählt wurde, sollen die ersten 4 in die Schleife zum visible setzten geschrieben werden, bei 3 die ersten 8, bei 4 sollen es 12 sein und bei 5 alle 16.


Wenn dies funktonieren sollte, muss ich jedoch noch vor diese Zahlen das Wort "Label" setzten, und zwar so, dass nachher auch wieder erkannt wird, dass es ein Label ist.

Mein Versuch dies zu realisieren:
Delphi-Quellcode:
var
swfl : array[1..12] of System.Windows.Forms.Label;

procedure TWinForm.NumericUpDown1_ValueChanged(sender: System.Object; e: System.EventArgs);

var
lv : byte;

begin
  if NumericUpDown1.Value = 2 then
    begin
      for lv := low(swfl) to high(swfl) do
      begin
        swfl[lv] := Findcomponent(Format('Beschr%d',nupdolabel[lv])) as System.Windows.Forms.Label;
      end;
    end;
end;
Das entscheidende ist wohl der Teil:
swfl[lv] := Findcomponent(Format('Beschr%d',nupdolabel[lv])) as System.Windows.Forms.Label; Diesen habe ich auf einer Win32 Delphi Seite gefunden. Daher funktioniert er leider auch nicht bei .NET, da es FindComponent dort nicht gibt.

Meine Fragen sind jetzt, ob es überhaupt so funktionieren kann, was ich vor habe, und wenn ja, ob jemand einen erstatz für FindComponent hat oder vielelicht sogar eine elegantere Lösung für dieses vorhaben hat.

Immer daran denken wenn etwas ganz komisches darin steht, was gar nicht gehen kann:
Ich bin ein Anfänger!


Ich hoffe, jemand kann mir helfen. *hoff*



by Michael
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02: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 by Thomas Breitkreuz