HJST1979 Geschrieben 28. Juli 2010 Geschrieben 28. Juli 2010 Hallo vielleicht kann mir hier jemand helfen. Ich habe einen kleinen Designer programmiert. Das heißt es steht ein leeres FORM zur Verfügung auf dem der Endanwender seine Controls ziehen kann. Jetzt kann es sein dass er das erste Control (Button) unten rechts anfügt und das zweite Control (ComboBox) oben links. Das ist soweit kein Problem. ABER ich bräuchte die Controls genau in folgender Reihenfolge: 1. ComboBox, 2. Button Momentan habe ich beim durchlaufen der Controls folgenden Code: Dim C as Control For Each C in M.Controls 'Hier mein Code Next Durch diesen Code läuft er aber zuerst auf den Button und dann auf die Combobox. Habe auch schon versucht den TabIndex zu setzen aber das Ändert leider nichts ;-( Würde mich über den entscheidenden Tipp freuen Gruß Hans-Jörg
chrixko Geschrieben 28. Juli 2010 Geschrieben 28. Juli 2010 Wenn du eine besondere Sortierung haben möchtest, könntest du zum Beispiel eine ControlComparer-Klasse erstellen die das IComparer-Interface implementiert. Dann kannst du die Controls einfach in eine sortierbare Liste übertragen und diese dann mit der Comparer-Klasse sortieren. So wie ich deinen Fall verstehe möchtest du nach der Position sortieren? Dann müsstest du die Liste einfach nach der X.Position sortieren. Kleines Beispiel: Comparer-Klasse Public Class ControlComparer Implements IComparer(Of Control) Public Function Compare(ByVal x As System.Windows.Forms.Control, ByVal y As System.Windows.Forms.Control) As Integer Implements System.Collections.Generic.IComparer(Of System.Windows.Forms.Control).Compare Return x.Top.CompareTo(y.Top) End Function End Class Nutzung: Dim li As New List(Of Control) For Each c As Control In Controls li.Add(c) Next li.Sort(New ControlComparer()) 'Sortierte Liste
HJST1979 Geschrieben 28. Juli 2010 Autor Geschrieben 28. Juli 2010 Hi super danke, das war die Lösung wie ich sie mir vorgestellt habe. Gruß Hans-Jörg
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden