Отображение предопределенных значков системы в C#

В этом примере отображаются доступные системные значки. Следующий способ DrawIconSample отображает значок и его название.

private const int column_width = 150;
private const int row_height = 50;

// Нарисуем образец и его имя.
private void DrawIconSample(Graphics gr, ref int x, int y,
    Icon ico, string ico_name)
{
    gr.DrawIconUnstretched(ico,
        new Rectangle(x, y, ico.Width, ico.Height));
    int text_y = y + (int)(ico.Height -
        gr.MeasureString(ico_name, this.Font).Height) / 2;
    gr.DrawString(ico_name, this.Font, Brushes.Black,
        x + ico.Width + 5, text_y);
    x += column_width;
}

Код вызывает метод Graphics объекта DrawIconUnstretched для отображения значка, а затем рисует имя значка. Он заканчивается, увеличивая значение параметра x (который передается в метод по ссылке), поэтому следующий значок появится справа от него.

Класс SystemIcons предоставляет статические свойства, возвращающие стандартные стандартные значки. В обработчике событий Paint примера используются свойства SystemIcons и метод DrawIconSample для отображения значков.

// Рисуем образцы.
private void Form1_Paint(object sender, PaintEventArgs e)
{
    int x = 10;
    int y = 10;
    DrawIconSample(e.Graphics, ref x, y,
        SystemIcons.Application, "Application");
    DrawIconSample(e.Graphics, ref x, y,
        SystemIcons.Asterisk, "Asterisk");
    DrawIconSample(e.Graphics, ref x, y,
        SystemIcons.Error, "Error");
    x = 10;
    y += 50;
    DrawIconSample(e.Graphics, ref x, y,
        SystemIcons.Exclamation, "Exclamation");
    DrawIconSample(e.Graphics, ref x, y,
        SystemIcons.Hand, "Hand");
    DrawIconSample(e.Graphics, ref x, y,
        SystemIcons.Information, "Information");
    x = 10;
    y += row_height;
    DrawIconSample(e.Graphics, ref x, y,
        SystemIcons.Question, "Question");
    DrawIconSample(e.Graphics, ref x, y,
        SystemIcons.Shield, "Shield");
    DrawIconSample(e.Graphics, ref x, y,
        SystemIcons.Warning, "Warning");
    x = 10;
    y += 50;
    DrawIconSample(e.Graphics, ref x, y,
        SystemIcons.WinLogo, "WinLogo");

    this.ClientSize = new Size(3 * column_width, 4 * row_height);
}

Источник: http://csharphelper.com/blog/2015/09/display-the-predefined-system-icons-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector