Hallo zusammen,
ich habe eine TreeView. Diese befülle ich mit Nodes aus einer Liste.
Nun setze ich zu diesen Nodes die ImageKeys, sodass Icons angezeigt werden.
Klappt soweit wunderbar.
Nun möchte ich bei einem Event das Icon des jeweiligen Nodes ändern.
Das klappt soweit auch wunderbar, im Debug-Modus sehe ich auch, wie der Wert geändert wird. Allerdings wird sichtlich im TreeView das Icon nicht gewechselt und bleibt das gleiche.
Woran liegt das?
Meine Methoden:
C#-Code: |
public void SetStatusAtTreeViewOrganigramm(string speedDialName, string statusParameter)
{
TreeNodeCollection nodes = treeOrganigramm.Nodes;
foreach (TreeNode n in nodes)
{
FindRecursive(n, speedDialName, statusParameter);
}
}
|
C#-Code: |
private void FindRecursive(TreeNode treeNode, string search, string status)
{
foreach (TreeNode tn in treeNode.Nodes)
{
if (tn.Text == search)
{
setImage(tn, status);
break;
}
FindRecursive(tn, search, status);
}
}
|
Habe schon gegooglet und gefunden, dass man evtl. das TreeView invalidieren muss und neu validieren muss.
C#-Code: |
treeOrganigramm.Invalidate(tn.Bounds);
treeOrganigramm.Update();
|
Klappt leider trozdem nicht.
Bin über jede Hilfe sehr dankbar, vielen Dank.