Benutzer mit den meisten Antworten
TabPages: Controls in andere page setzen klappt nicht.

Frage
-
Tag, das klappt nicht (TabWanted ist ein tabcontrol)
Private Sub tabWanted_Deselected(sender As Object, e As System.Windows.Forms.TabControlEventArgs) Handles tabWanted.Deselected mv.lastTab = e.TabPageIndex End Sub Private Sub tabWanted_Selected(sender As Object, e As System.Windows.Forms.TabControlEventArgs) Handles tabWanted.Selected Dim cc As Control For Each cc In tabWanted.TabPages(mv.lastTab).Controls cc.Parent = e.TabPage Next End Sub
Es werden einfach nicht alle controls mit rübergenommen in die nächste TabPage. Ich versteh das gar nicht.
Beim ersten Wechsel ist tabWanted.TabPages(mv.lastTab).Controls noch bei 6, wie es sein soll, trotzdem wird die for each-Schleife nach 3 controls beendet. Ich seh auch gar kein System drin.Mach ich da was falsch?
Antworten
-
Hallo,
das erste Problem könnte sein dass beim durchlaufen der Controls die Auflistung durch das Ändern der Parents geändert wird.
Bei welchen Controls tritt denn das Problem auf? Kannst du das Problem in einem neuen Projekt reproduzieren?
Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert Migration Sucks Samstag, 21. November 2015 10:03
-
Ja, Tom, damit hattest Du Recht:
das erste Problem könnte sein dass beim durchlaufen der Controls die Auflistung durch das Ändern der Parents geändert wird.
So gehts nämlich:
For ii = 0 To sender.tabpages(mv.lastTab).controls.count - 1 tabWanted.TabPages(mv.lastTab).Controls(0).Parent = e.TabPage Next ii 'oder so For ii = sender.tabpages(mv.lastTab).controls.count - 1 To 0 Step -1 tabWanted.TabPages(mv.lastTab).Controls(ii).Parent = e.TabPage Next
Das 'unterste' control wurde dadurch (wie auch in meiner ersten Alternativlösung) offenbar aus der Auflistung entfernt.
Vielen Dank
TH
- Als Antwort markiert Migration Sucks Samstag, 21. November 2015 10:03
- Bearbeitet Migration Sucks Samstag, 21. November 2015 10:04
Alle Antworten
-
Hallo,
das erste Problem könnte sein dass beim durchlaufen der Controls die Auflistung durch das Ändern der Parents geändert wird.
Bei welchen Controls tritt denn das Problem auf? Kannst du das Problem in einem neuen Projekt reproduzieren?
Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert Migration Sucks Samstag, 21. November 2015 10:03
-
Ja, Tom, damit hattest Du Recht:
das erste Problem könnte sein dass beim durchlaufen der Controls die Auflistung durch das Ändern der Parents geändert wird.
So gehts nämlich:
For ii = 0 To sender.tabpages(mv.lastTab).controls.count - 1 tabWanted.TabPages(mv.lastTab).Controls(0).Parent = e.TabPage Next ii 'oder so For ii = sender.tabpages(mv.lastTab).controls.count - 1 To 0 Step -1 tabWanted.TabPages(mv.lastTab).Controls(ii).Parent = e.TabPage Next
Das 'unterste' control wurde dadurch (wie auch in meiner ersten Alternativlösung) offenbar aus der Auflistung entfernt.
Vielen Dank
TH
- Als Antwort markiert Migration Sucks Samstag, 21. November 2015 10:03
- Bearbeitet Migration Sucks Samstag, 21. November 2015 10:04