MessageBox.Show вариант, который отображается на панели задач

Есть ли способ вызвать MessageBox.Show, который появляется на панели задач?

Вероятно, было бы лучше просто создать пользовательскую форму и отобразить ее, конечно, но, будучи ленивым программистом, я не хочу переделывать стандартные значки уведомлений об ошибках и предупреждениях, которые вы получаете с помощью старого доброго вызова MessageBox.Show.


person Jeremy    schedule 16.03.2009    source источник


Ответы (2)


Попробуйте использовать перечисление MessageBoxOptions:

MessageBox.Show("Test", "Test", MessageBoxButtons.OK, MessageBoxIcon.Information,
    MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);

Примечание. При использовании этого метода возникает побочный эффект многопоточности, см. статью Как отобразить пользовательский интерфейс из демона.

person Davy Landman    schedule 16.03.2009
comment
По-видимому, любой MessageBox.Show без указанного родителя появляется на панели задач. - person Jeremy; 16.03.2009

Реализуйте IWin32Window, верните дескриптор как IntPtr.Zero (рабочий стол), затем отобразите окно сообщения с этим окном в качестве родителя.

person Tom Anderson    schedule 16.03.2009