I have some code that popups a message box:
MessageBox.Show(this,
"You have not inputted a username or password. Would you like to configure your settings now?",
"Settings Needed",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
My problem is when this pops up my app is usually minimized to the tray. As a result the messagebox doesn't come to the front and it also doesnt appear along the start bar. The only way of seeing it is by alt-tabbing.
Here is the code that minimizes my app (the parent) to the tray:
if (FormWindowState.Minimized == WindowState)
{
Hide();
}
There's an additional flag you can specify as an option to the standard Windows MessageBox
function that isn't exposed in the WinForms wrapper.
What you're looking for is called MB_TOPMOST
, which ensures that the message box is displayed as the top-most window over everything else on your desktop. Simply amend your code as shown below:
MessageBox.Show(this,
"You have not inputted a username or password. Would you like to configure your settings now?",
"Settings Needed",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question,
MessageBoxDefaultButton.Button1, // specify "Yes" as the default
(MessageBoxOptions)0x40000); // specify MB_TOPMOST