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

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


person ognale88    schedule 02.08.2013    source источник


Ответы (3)


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

person Jonesopolis    schedule 02.08.2013

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

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

person Mike Dinescu    schedule 02.08.2013

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

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

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

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

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

person David Heffernan    schedule 02.08.2013