Подтвердить что ты не робот

Keep Messagebox.show() поверх другого приложения с помощью С#

Как сохранить Messagebox.show() поверх другого приложения с помощью С#??

4b9b3361

Ответ 1

Я попробовал решение, предоставленное donutboy, и он, похоже, не принимает 0x40000 (или 40000) в качестве допустимого параметра как значение MessageBoxOptions Enum.

Однако я обнаружил, что использование MessageBoxOptions.DefaultDesktopOnly оказывает такое же влияние и сохраняет MessageBox сверху, пока он не будет подтвержден пользователем. то есть.

MessageBox.Show("Hello there", "Prompt", MessageBoxButton.OK, MessageBoxImage.Warning, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);

Это, скорее всего, самое простое собственное решение.

Ответ 2

Там лучшее решение, не создавая новую форму.

MessageBox.Show("Message Text", "Header", MessageBoxButtons.OK, MessageBoxIcon.None, 
     MessageBoxDefaultButton.Button1, (MessageBoxOptions)0x40000);  // MB_TOPMOST

0x40000 - это "MB_TOPMOST" -Flag.

Ответ 3

Еще один простой способ справиться с этим:

MessageBox.Show(new Form { TopMost = true }, "This is TopMost", "TopMost", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);