Zum Inhalt springen

C# - Treeview, Bilder, Usercontrol


supul

Empfohlene Beiträge

Guten Morgen,

ich möchte in einem treeview meine eigenen Icons anzeigen lassen. Ich habe diese bei einer Form ausprobiert und es ging ohne Probleme wie folgt:


ImageList myImageList = new ImageList();

     myImageList.Images.Add(Image.FromFile("C:\\Visual Studio\\Projects\\test1\\test1\\Bitmap1.bmp"));

     myImageList.Images.Add(Image.FromFile("C:\\Visual Studio\\Projects\\test1\\test1\\Bitmap2.gif"));

     myImageList.Images.Add(Image.FromFile("C:\\Visual Studio\\Projects\\test1\\test1\\Icon1.ico"));

myImageList.Images.Add(test1.Properties.Resources.Bitmap1);



treeView1.ImageList = myImageList;


treeView1.ImageIndex = 0;

treeView1.SelectedImageIndex = 1;


TreeNode node1 = new TreeNode("kdkd", 0, 1);

TreeNode node2 = new TreeNode("kdkd", 0, 0);

treeView1.Nodes.Add(node1);

treeView1.Nodes.Add(node2);

nun möchte ich das ganze aber in einer SystemUserControl machen. Hier werden die Bilder aber nicht angezeigt. Vor jedem Node wird nur weiße Fläche angezeigt, wo die Bilder eigentlich zu sehen sein sollten.

ImageList treeImageList = new ImageList();

treeImageList.Images.Add(Image.FromFile("D:\\NewProduct.ico"));


testTree.ImageList = treeImageList;


testTree.SelectedImageIndex = 0;

Hat jemand eine Idee?

außerdem würde ich gerne wissen, ob man die Bilder nur auf einer bestimmten Ebene anzeigen kann? Also so das die freie Fläche für die Bilder nicht angezeigt wird wenn kein Bild vorhanden ist.

Gruß,

supul

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sollen die Bilder zur Entwurfszeit schon angezeigt werden? Dann schreibe den Code unter InitializeComponents. Dann werden deine Bilder auch im Designer schon angezeigt. Sobald Nodes hinzugefügt wurden. Oder was meinst Du?

Hast Du Dein Control kompilliert und in ein Forms-Projekt eingebunden? Hier müssten spätestens die die Bilder bei den Nodes angezeigt werden sofern der Code im Constructor steht.

Ich denke Dein zweiter Wunsch geht nicht in Erfüllung solange Du das TreeView nicht selber zeichnest indem Du die Methode OnPaint überschreibst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

die bilder werden erst später angezeigt.

Ich habe auch schon das Problem gefunden. Es liegt an den WinXP-Style. Unter Win 2000 läuft alles ohne Probleme. Man darf im Programm

Application.EnableVisualStyles();

nicht nutzen.(oder besser ich weiß noch nicht wie sich beides vertägt. :))

Das scheint ein Bug zu sein.

Trotzdem vielen Dank.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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