Jag fyller en treeview utifrån en databas (MySQL) och vill även lägga till bilder framför de olika noderna, vars namn delvis finns i databasen. Om du menar att de är inbakade i dll:en så är ju en nackdel att du får svårt att byta ut dem (måste bygga om projektet). Peter här är lite kod :-) Tack för svaren!Bilder i treeview utan imagelist?
Det innebär ibland olika bilder på samma nivå i treeview'n.
Med en imagelist kan jag lägga till bilder genom tex. Add(Image.FromFile("c:\katalog\minbild.gif"));
Men hur kan jag använda bilder som är infogade direkt i projektet?
Finns det nackdelar med att ha bilderna liggandes i projektet?
Måste jag använda en imagelist för att infoga bilder i en treeview?
Mvh GustafSv: Bilder i treeview utan imagelist?
Men om du vill göra det så går det ju att läsa inbakade resurser (har ett kodexempel men hittar det inte) och baka in bilderna. Detta gör du genom att sätta "build action" till "embedded resource" på bild-filerna.
En imagelist är ju annars ett helt ok sätt att lagra bilderna på.
Mvh
PeterSv:Bilder i treeview utan imagelist?
C#
<code>
private Bitmap getResBitMap(string strImgName)
{
return new Bitmap(System.Reflection.Assembly.GetExecutingAssembly().
GetManifestResourceStream("MittProjektnamn." + strImgName));
}
</code>
VB.NET
<code>
Private Function getResBitMap(ByVal strImgName As String) As Bitmap
Return New Bitmap(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("mittProjektNamn." + strImgName))
End Function
</code>Sv:Bilder i treeview utan imagelist?
Jag har använt mig av kod liknande den som visas här ovan. Detta ger mig i dagsläget två olika bilder vid 'selected' och 'unselected' node.
Men går det att ordna så att man kan ha olika bilder på samma nivå i en treeview?
Koden skulle alltså motsvara följande:
<code>TNode1 = new TreeNode((string) SqlReader1["Title"]);
TNode1.Image = "Icon-" + str_FileName + ".gif";
this.treeView_CPages.Nodes.Add(TNode1);</code>
mvh Gustaf