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

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...