Кнопки для окна сообщения в Visual Studio 2008

Можно ли добавить пользовательские кнопки (или) определенные пользователем кнопки в окне сообщений в приложении Visual Studio для Windows Forms?

3 ответа

Решение

Вот краткое руководство по созданию собственного диалогового окна, которое, по моему мнению, будет идеальным решением для вас в этом сценарии.

Простой ответ: нет, это не так.

Длинный ответ состоит в том, что невозможно использовать управляемый API, но это возможно при использовании Win32 API. Вот хорошее руководство по использованию Windows Hooks для настройки диалогового окна с сообщением операционной системы.

Сеть MessageBox класс не предлагает такой функциональности. Тем не менее, собственный Win32 API делает это через TaskDialog API. Основное преимущество этого подхода, в отличие от написания настраиваемого диалога, заключается в том, что вы будете использовать собственный системный компонент, и ваш диалог будет чувствовать себя как дома на платформе.

Очень простой пример диалога задач выглядит так:

введите описание изображения здесь

И есть много возможностей для гораздо большей сложности, как объясняется в ссылке выше.

Вам нужно p/ вызвать для этой функции. Это одна из самых грязных функций, которую нужно вызывать, поэтому ждите небольшой работы, прежде чем вы получите рабочее решение. Вы можете найти код C#, чтобы обернуть его здесь, но я не могу сказать, что лично у меня есть опыт этого.

Другие вопросы по тегам