Einzelnen Beitrag anzeigen

Mr_Rollercoaster

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

Durch Array mehrere Label auf visible setzen

  Alt 13. Jul 2007, 10: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