Windows Forms .NET 3.5 che utilizza immagini di risorse per un controllo Treeview
Domanda
Quando popolo il mio treeview vorrei usare le stesse immagini che uso nella mia barra degli strumenti ecc. che sono memorizzate in un file di risorse.
Il treeview sembra accettare le immagini tramite un elenco di immagini.
Stavo pensando di riflettere e aggiungere le risorse a un elenco di immagini in caricamento ...
Come si fa in generale a farlo?
Soluzione
Di solito ho un elenco di immagini che popolo usando le immagini dal file di risorse. Questo può essere fatto facilmente durante l'inizializzazione del modulo.
Esempio (con tre immagini in Resources.resx, chiamato uno , due e tre ):
private void PopulateImageList()
{
_treeViewImageList.Images.Add("one", Resources.one);
_treeViewImageList.Images.Add("two", Resources.two);
_treeViewImageList.Images.Add("three", Resources.three);
}
Altri suggerimenti
Solo per completezza, quel "mazza" approccio per aggiungere tutte le immagini da una risorsa
foreach (var propertyInfo in
typeof(Resources).GetProperties(BindingFlags.Static | BindingFlags.NonPublic)
.Where(info => info.PropertyType == typeof (Bitmap))) {
mainImageList.Images.Add(
propertyInfo.Name,
(Bitmap)propertyInfo.GetValue(null, null));
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow