J'essaie de créer une liste de fichiers arborescente dans une zone richtext.Icône de l'image - problème de transparence
Cela devrait ressembler à une arborescence d'explorateur. Mon code est capable de redimensionner l'icône, mais la transparence est manquante (fond gris clair au lieu de transparence). Qu'est-ce que j'ai besoin de changer ici? Le format de l'image est-il incorrect? Existe-t-il une meilleure façon d'ajouter une image à une zone de texte enrichie?
// Get file info
FileInfo f = new FileInfo("myfile.name");
// Get icon for fileinfo
Icon ico = Icon.ExtractAssociatedIcon(f);
// Convert icon to bitmap
Bitmap bm = ico.ToBitmap();
// create new image with desired size
Bitmap img = new Bitmap(16,16,PixelFormat.Frmat32bpRgb);
// Create graphics with desired sized image
Graphics g = Graphics.FormImage(img);
// set interpolation mode
g.InterpolationMode = InterpolationMode.HighQualityBiCubic;
// draw/resize image
g.DrawImage(bm, new Rectangle(0,0,16,16), new Rectangle(0, 0, bm.Width, bm,Height), GraphicalUnit.Pixel);
// Paste to clipboard
Clipboard.SetImage(bm);
// Paste in RichtextBox
rtb.Paste();
Exemple:
Edit:
J'ai compris que l'image est transparente, mais en utilisant Clipboard.SetImage() ne publie pas comme image transparente.
Des idées pourquoi et que puis-je faire pour le réparer? Dois-je passer à un contrôle de boîte de texte différent?
Je ne comprends pas. Pourquoi ne pas utiliser un TreeView? ImageList fait des icônes sans tracas. –
Parce que j'ai besoin de l'imprimer - si j'utilise une arborescence, c'est un problème avec plusieurs pages ... Et j'utilise un imagelist comme cache - ce n'est que la partie avec le problème actuel. –