Gibt es einen Weg, um verschiedene Größen von der Windows-system-icons in .NET?

Insbesondere würde ich mag in der Lage sein, um die kleine (16 x 16) - Symbole zur Laufzeit.

Habe ich versucht, dieses:

new Icon(SystemIcons.Error, SystemInformation.SmallIconSize)

Die angeblich "versuche zu finden, eine version des symbols entspricht der angeforderten Größe", aber es ist immer noch, dass Sie mir einen 32 x 32-Symbol. Ich habe auch versucht:

Size iconSize = SystemInformation.SmallIconSize;
Bitmap bitmap = new Bitmap(iconSize.Width, iconSize.Height);
using (Graphics g = Graphics.FromImage(bitmap))
{
    g.DrawIcon(SystemIcons.Error, new Rectangle(Point.Empty, iconSize));
}

Aber das skaliert nur das 32 x 32-Symbol unten in einen hässlichen 16 x 16.

Habe ich mir überlegt so ziehen Sie Symbole aus dem VS-Image-Bibliothek, aber ich wirklich wollen, um Sie zu variieren dynamisch mit dem OS (XP-Symbole auf XP, Vista icons, Vista, etc.). Ich bin bereit zu P/Invoke-wenn es das ist, was es braucht.

InformationsquelleAutor Andrew Watt | 2010-06-13
Schreibe einen Kommentar