Luecken in Steuerelementefeld schliessen?

16/03/2011 - 19:42 von Martin Eckel | Report spam
Hallo,

wenn ich in einem Steuerelementefeld zwischendrin einzelne
Steuerelemente mit Unload entlade, dann bekomme ich naturgemàß Lücken in
der Steuerelementauflistung.

Ist es irgendwie möglich, die Lücken wieder zu schliessen, indem man die
folgenden Steuerelemente immer einem Index niedriger zuweist?
Anscheinend nicht...?

Mir kommt gerade eine Idee, wie ich es mache. Ich lösche immer das
letzte Steuerelement und kopiere vorher alle interessanten Properties
nach vorne durch.

Trotzdem, geht das irgendwie?

Gruß,
Martin
 

Lesen sie die antworten

#1 Heinz-Mario Frühbeis
16/03/2011 - 21:13 | Warnen spam
Martin Eckel schrieb :
Hallo,

wenn ich in einem Steuerelementefeld zwischendrin einzelne Steuerelemente mit
Unload entlade, dann bekomme ich naturgemàß Lücken in der
Steuerelementauflistung.



Ach ja?

Ist es irgendwie möglich, die Lücken wieder zu schliessen, indem man die
folgenden Steuerelemente immer einem Index niedriger zuweist? Anscheinend
nicht...?



Ich glaube der Index geht nur IDE, oder Load -> spàter dann mach
Index.TBox = 2 zu Index.TBox = 3 is wohl eher nicht geplant von VB.

Meine Lösung dazu:
Dim colTb as New Collection
Dim tb as TextBox
Dim Key as String

Key = "tb" & colTb.Count
set tb = Form1.Controls.Add(VB.TextBox, "tb" & Key)
colTb.Add tb, Cstr(Key)

Mir kommt gerade eine Idee, wie ich es mache. Ich lösche immer das letzte
Steuerelement und kopiere vorher alle interessanten Properties nach vorne
durch.



Toll ...

Trotzdem, geht das irgendwie?



s. w. o.

Bei: colTb.Count könnte besser noch eine "GetFreeIndex-Funktion" hin,
dann rollt dat.
Gleichzeitig det Textbox noch den Tag belegen mit dem Key, oder
SetProperty/GetProperty (müsste auch mit der Textbox gehen (da hWnd))

Mit Gruß
Heinz-Mario Frühbeis

Ähnliche fragen