C# - TreeView-Icons wechseln - zur Laufzeit

Alexander12

Erfahrenes Mitglied
Hi.

Ich hab mich Mal dran Versucht ein Login-System mit Benutzerkonten für ein Programm zu schreiben. Da habe Ich ein TreeView und 2 Standart-Icons, Default-, und SelectedIndex, und dann habe Ich noch einen Dritten, auf dem ist ein Türschloss zu sehen.

Für jedes Node habe Ich einen bool-Wert, beim Starten soll der dann den Wert, wenn das Node gesperrt sein soll, auf false setzen und das Icon wechseln.

Beim Aufrufen der Nodes wird dann halt der Wert überprüft und bei false eine Meldung ausgegeben.

Wie mach Ich sowas am besten?


MfG Alexander12
 
Wenn du dir die Memberliste von TreeNode angesehen hättest, wäre dir ImageIndex aufgefallen. Da, wie der Name schon sagt, den ImageIndex zuweisen und anschließen ein Refresh auf das Control (TreeView) aufrufen.
Dann sollte es funktionieren
 
Hi.

Nein, dann wechselt er ja alle Icons, er solls ja nur bei bestimmten machen, liegen boolesche werte dahinter, weißt.


MfG Alexander12
 
Hi.

Oje, hast du da ein Beispiel, beim TreeView gibts gar kein Loading-Event, etc.

Auch bei MainForm-Loading hab Ich nicht hingekriegt..


MfG Alexander12
 
Für was brauchst du da ein Beispiel?
DU kannst von jeden Node die Childs abfragen (auch TreeNodes ;) ) und mit forach kannst du da durchlaufen.
Und am besten machst du das per Rekursion ;)
 
Hi.

Aber das mit den Werten etc..

Code:
foreach(string node in this.myTree.Nodes)
{
				
}

Ich muss ja jedes Mal den String ändern..


MfG Alexander12
 
Welchen String willst du ändern? Eben war es noch das Icon :confused:
Am besten, d überlegst dir noch mal was du haben willst ;)

Achso:
Ich weiß nicht, ob es dir inzwischen aufgefallen ist, aber was du in deinem letzten Post geschrieben hast, wird in 1000 Jahren nicht kompilieren ;)
Nodes ist eine Sammlung von TreeNodes. Wenn du diese mit foreach durchfläufst, bekommst du auch eine TreeNode zurück und keinen String.
Mit dieser Node kannst du machen, was du willst, alle mögliche ändern, was nicht schreibgeschützt ist.
 
Hi.

Ja, hast recht, also noch Mal von vorn:

Ich habe ne treeview mit nodes. Für jedes Node gibt es einen booleschen Wert in meinem Programm. So, wenn jetzt ein Wert auf false gestellt wird, das passiert beim Laden der From, soll Das Icon dieses Nodes wechseln..


MfG Alexander12
 
ja, an der Vorgehensweise hat sich nichts geändert:
Rekursiv durch die Nodes itterieren und den Nodes das entsprechende Icon zuweisen
 
Zurück