Как сохранить Messagebox.show() поверх другого приложения с помощью С#??
Keep Messagebox.show() поверх другого приложения с помощью С#
Ответ 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);