"Non-modal forms should always be reopened and closed."
They should have a default position and size when first opened. Do you have any rules about this?
I would add a classifier: if the screen / monitor resolution value is different from the last time this form was opened, then it returns to the default position. Thus, inaccessible forms do not restore 400 pixels to the right and below the screen area.
"A warning or error dialog should open in the center of the main monitor."
I don’t understand why you are moving the message window from the monitor, where the application (hereinafter MWTAR) to the main monitor. You know that the player is looking at MWTAR; because he just did something "bad." Why are you changing monitors, now you have something important to say?
(After all, if this is an error dialog box containing useful diagnostics, he will not read it anyway. I see no need to hide it from him.)
Further thought. One of the problems with modal error dialogs is that whenever they appear, the user accidentally hits 'Enter' by typing something else and rejecting it. I know that I do this quite often.
One trick I've seen to overcome this is to disable the OK button when the dialog is first displayed. There is a 3-second timer in the dialog box that shows the time remaining on the small mark attached to the button. Thus, the player knows that he will soon be able to drop this case.
Obviously, this needs to be used very, very sparingly, and only in the rarest and most important dialog boxes. But that seemed pretty smart to me. Perhaps all you need to do is make the "Default" button after three seconds.
source share