Пользовательский WinForm с иконкой и звуком MessageBox - PullRequest
6 голосов
/ 28 марта 2012

Я хочу создать модальное диалоговое окно, которое имеет больше элементов управления, чем то, что предлагает стандартный .NET MessageBox.Я создал свою собственную форму Windows, которая будет вызываться с ShowDialog (), чтобы дать модальное поведение.Тем не менее, я хотел бы использовать графику, которая поставляется с MessageBox через MesageBoxIcon.Это возможно?Можно ли воспроизводить воспроизведение звуков окон ошибок / предупреждений, связанных со значками окна сообщений (как они установлены в настройках окон пользователя)?

Ответы [ 2 ]

13 голосов
/ 28 марта 2012

См. Класс System.Drawing.SystemIcons для отображения системных значков, используемых классом MessageBox, таких как Question, Information и Warning.

e.Graphics.DrawImage(SystemIcons.Question.ToBitmap(), new Point(0, 0));

Что касается звуков, см. Класс System.Media.SystemSounds для воспроизведения связанных звуков.

System.Media.SystemSounds.Asterisk.Play();
1 голос
/ 28 марта 2012

MessageBox предоставляется ОС, я боюсь.Вы можете расширить его, но это требует большой работы (см. эту статью CodeProject для учебника).Лучше всего начать сначала с элемента управления, унаследованного от формы, как вы предлагаете.

Для доступа к значкам это так же просто, как использовать класс System.Drawing.SystemIcons (документация для этого здесь .)

...