Как я использую стандартное предупреждение/значки ошибки Windows в своем приложении WPF?

Я делаю пользовательское ошибочное диалоговое окно в своем приложении WPF, и я хочу использовать стандартный значок ошибки окон. Я могу получить определенный для ОС значок от WPF? В противном случае кто-либо знает, где получить .pngs с прозрачностью их? Или знайте, где в Windows для движения извлекают их из?

До сих пор мои поиски ничего не подняли.

43
задан RandomEngy 3 April 2010 в 21:30
поделиться

6 ответов

Существует класс SystemIcons , но он требует настройки для нужд WPF (т. Е. Преобразование Icon до ImageSource ).

34
ответ дан 26 November 2019 в 22:50
поделиться

Об использовании стандартных значков Microsoft .

Подавляющее большинство разработчиков не знают, что Visual Studio поставляется с библиотекой изображений. Итак, вот две ссылки, которые выделяют это:

Об использовании Библиотеки изображений Microsoft Visual Studio 2010 .

Об использовании Библиотеки изображений Microsoft Visual Studio 2008 .

29
ответ дан 26 November 2019 в 22:50
поделиться

В Visual Studio используйте File + Open + File и выберите c: \ windows \ system32 \ user32.dll. Откройте узел «Значок» и дважды щелкните 103. На моем компьютере это значок «Ошибка». Назад, щелкните его правой кнопкой мыши и выберите «Экспорт», чтобы сохранить его в файл.

Это сомнительный путь. Эти значки также доступны в Visual Studio. В каталоге установки Visual Studio перейдите к Common7 \ VS2008ImageLibrary \ xxxx \ VS2008ImageLibrary.zip + VS2008ImageLibrary \ Annotations & Buttons \ ico_format \ WinVista \ error.ico. Файл redist.txt в установке Visual Studio прямо дает вам право использовать этот значок в вашем собственном приложении.

6
ответ дан 26 November 2019 в 22:50
поделиться

Разве вы не можете просто использовать Windows API?

Пример Delphi:

procedure TForm1.FormClick(Sender: TObject);
var
  errIcon: HICON;
begin
  errIcon := LoadIcon(0, IDI_ERROR);
  DrawIcon(Canvas.Handle, 10, 10, errIcon)
end;
1
ответ дан 26 November 2019 в 22:50
поделиться

Вы можете нарисовать его так:

Graphics g = this.CreateGraphics();
g.DrawIcon(SystemIcons.Question, 40, 40);
0
ответ дан 26 November 2019 в 22:50
поделиться

. Вы можете использовать класс .NET SystemIcons примерно для первых трех шагов, если по умолчанию размер в порядке, см. modosansreves answer

Так что это может быть очень просто:

 Imaging.CreateBitmapSourceFromHIcon(SystemIcons.Error.Handle)
4
ответ дан 26 November 2019 в 22:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: