Можно ли получить значок вопроса MessageBox по умолчанию для использования в моей собственной форме? - PullRequest
0 голосов
/ 20 марта 2019

Звучит так тривиально, что, возможно, об этом уже спрашивали, но я не могу его найти.

Я хочу задать пользователю вопрос, на который невозможно ответить да или нет. Например. Названия кнопок должны быть «Рыба» или «Мясо». Насколько мне известно, это невозможно с классом MessageBox по умолчанию. Итак, я создаю свою собственную форму.

Но можно ли получить один из стандартных значков MessageBox (например, за MessageBoxIcon.Question), чтобы он больше походил на стандартный MessageBox?

Ответы [ 2 ]

1 голос
/ 20 марта 2019

Благодаря Jimi я узнал, что .NET поддерживает такие виды иконок из коробки. Я добавил это на панель в моей диалоговой форме.

this.panel1.BackgroundImage = Bitmap.FromHicon(SystemIcons.Question.Handle);
this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;

Источник: https://docs.microsoft.com/en-us/dotnet/api/system.drawing.systemicons

0 голосов
/ 20 марта 2019

У нас есть класс C #, который делает это надежно, как и любая другая вещь в Windows.Этот конкретный код PInvoke не является ракетостроением.

Хотя я не могу дать вам наш исходный код, я могу указать вам на код, который использует все те же вызовы PInvoke, которые мы используем.https://github.com/TsudaKageyu/IconExtractor

ЭТО ЛЕГКО использовать:)

myIconExtractor = new IconExtractor(fileName);
myIcon = myIconExtractor.GetIcon(iconIndex);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...