Benutzer mit den meisten Antworten
Treeview Knoten Merken aber bei Treeview.nodes.item(0).IsExpanded springt er aus meiner Sub in eine Paint Schleife

Frage
-
Hallo Zusammen,
Habe wie oben Beschrieben das Problem das wenn ich die IsExpanded Abfrage meiner Nodes mache Visual Studio in ein Paint SUb Springt und damit nicht mehr in Meine Sub zurückspringt. Habe Jetzt schon diverse Foren durchsucht und nichts gefunden(zu wenig gesucht oder unfähig :-) ) Ich hoffe jemand kennt eine Lösung das zu umgehen....
Habe mir sowas wie Layout.Suspend auch angeschaut hatte aber nicht den gewünschten erfolg denke mal da liege ich falsch!
Danke im vorraus
Zillio
Planung ist der Ersatz des Zufalls durch den Irrtum!- Verschoben Martin Richter Dienstag, 29. März 2011 08:56 (aus:Visual Studio)
Antworten
-
Hallo,
Also habe es tatsächlich geschafft das paint zu umgehen in dem ich die sache mit einer for ...next schleife löse nicht mit einer for....each.....
Klingt komisch aber dadurch springt er jetzt nicht mehr raus...
@Scotty dieses Protected Override kommt wie gesagt aus einer DLL von Microsoft die man Benutzen kann um einen Datagrid wie Excel sortieren zu lassen aber dorch die For..next habe ich das ja auch gelöst...
Danke
Planung ist der Ersatz des Zufalls durch den Irrtum!- Als Antwort markiert Zillio Mittwoch, 30. März 2011 05:24
Alle Antworten
-
Dim tvRoot As TreeNode Dim tvNode As TreeNode Dim tvnode2 As TreeNode Dim MyZaehler As Integer Dim MyExpandet(4, MyZaehler) As Boolean Dim i As Integer = 0 Dim MyGemerkt As Boolean = False If Not TreeView.Nodes.Count = 0 Then For t = 0 To 4 If TreeView.Nodes.Item(0).Nodes.Item(t).Nodes.Count - 1 > MyZaehler Then MyZaehler = TreeView.Nodes.Item(0).Nodes.Item(t).Nodes.Count - 1 'TreeView.Nodes.Item(0).Nodes.Item(0).Nodes.Count End If Next t Me.SuspendLayout() TreeView.SuspendLayout() For t = 0 To 4 For Each element In TreeView.Nodes.Item(0).Nodes.Item(t).Nodes If element.item(i).isexpanded = True Then MyExpandet(t, i) = True Else MyExpandet(t, i) = False End If i += 1 Next Next t TreeView.ResumeLayout() MyGemerkt = True End If TreeView.Nodes.Clear()
so versuche ich den expand abzurufen leider springt er bei der Zeile If element.item(i).isexpanded = True Then
aus meiner sub raus....Protected Overrides Sub Paint( _ ByVal graphics As Graphics, _ ByVal clipBounds As Rectangle, _ ByVal cellBounds As Rectangle, _ ByVal rowIndex As Integer, _
Er springt in dieses Paint das aus der Datagridautofilter.dll kommt.... Habe aber keinen Datagrid in dieser Form...
Planung ist der Ersatz des Zufalls durch den Irrtum! -
Hallo,
Layout.Suspend ist völlig falsch am Platz und hat sicherlich nichts mit Deinem Problem zu tun. Diese Dinge nutz man um Control "schneller zu machen". Damit wird einfach das interne Zeichnen unterdrückt wenn man viel Element bearbeitet.
Was mit sehr viel merkwürdiger stimmt ist:
Protected Overrides Sub Paint( _
ByVal graphics As Graphics, _
ByVal clipBounds As Rectangle, _
ByVal cellBounds As Rectangle, _
ByVal rowIndex As Integer, _Versuche mal Deine Code soweit zu reduzieren, das man ihn nachvollziehen kann(Bitte nichts vergessen).
--
Gruß Scotty
-
Hallo,
Also habe es tatsächlich geschafft das paint zu umgehen in dem ich die sache mit einer for ...next schleife löse nicht mit einer for....each.....
Klingt komisch aber dadurch springt er jetzt nicht mehr raus...
@Scotty dieses Protected Override kommt wie gesagt aus einer DLL von Microsoft die man Benutzen kann um einen Datagrid wie Excel sortieren zu lassen aber dorch die For..next habe ich das ja auch gelöst...
Danke
Planung ist der Ersatz des Zufalls durch den Irrtum!- Als Antwort markiert Zillio Mittwoch, 30. März 2011 05:24
-
Also habe es tatsächlich geschafft das paint zu umgehen in dem ich die sache mit einer for ...next schleife löse nicht mit einer for....each.....
Klingt komisch aber dadurch springt er jetzt nicht mehr raus...
@Scotty dieses Protected Override kommt wie gesagt aus einer DLL von Microsoft die man Benutzen kann um einen Datagrid wie Excel sortieren zu lassen aber dorch die For..next habe ich das ja auch gelöst...
Du hast also einfach von einer Klasse abgeleitet ohne zu wissen was Du tust. ;=)
Wirklich im Ernst, Du kannst nicht einfach dabei gehen, ableiten und das „Interna der Klasse durcheinander bringen. Die Änderung mit Schleife wird jetzt wohl die Resultate bringen die Du erhoffst, doch es kommt sicherlich zu Seiteneffekten die jetzt noch nicht siehst. Bedenke dass eine ist die Ausgabe und das andere ist die Logik hinter dem Datenbestand. Nur weil Du die Ausgabe geändert hast, heißt das nicht, das der Rest noch passt. Hier musst Du wirklich ordentlich testen.
--
Gruß Scotty
-
Ja ich weiss und fühle mich dabei auch nicht gut......
Naja ich bin so Chaosprogrammierer und was mit den Klassen und so passiert ist mir ein Rätsel was mich zu einer Frage bringt kennt irgendjemand Bücher über Klassen Programmierung??? Weil so kann das nicht weitergehen :-)
mfg
Zillio
Planung ist der Ersatz des Zufalls durch den Irrtum!