Zum Inhalt springen

VB.NET Controls in "richtiger" Reihenfolge


Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...