What is the best practice for posting forms and dialogs on single and multiple monitor systems?

I have a choice from my applications (Delphi), and I have been visiting the floating form size and the constancy of location, which seems to be becoming more and more important with larger screen real estate and multi-monitors. It is clear that it is often desirable that the user form reopens in the same place where it was closed, but perhaps not always, for example, a modal dialogue could justify the explosion before users see it, that is, on the main monitor screen. There seems to be nothing about this, and commercial applications seem inconsistent, especially with respect to multiple monitors. So, some (maybe contradictory!) Rules so that we begin ...

  • Non-modal forms should always open at the size and location of closure.
  • Modal forms (that is, with OK / Cancel, Yes / No buttons) should reopen to the previous size (if dimensional), but in the center of the monitor on which the application is located.
  • In the center of the monitor on which the application is located, a window of information messages should open.
  • A warning or error dialog should open in the center of the main monitor.

Thanks in advance, Brian

+4
source share
3 answers

"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.

+2
source

The dialog box never opens in the center of the monitor. Consider one of the 30-inch monitors with a resolution of 2560 x 1600 pixels - using an application maximized on one of these monitors makes sense only in very specific cases. If the application form is located in one of the corners of this huge screen area, the user will need to move the mouse cursor from the current location to the center of the screen and return after rejecting the dialog. In addition, with a normal viewing distance, it may not be possible to simultaneously display this entire screen, so the center of the active window will be more “in front of users” than the center of the screen. Any dialog box that does not remember its position should open in the center of its parent window. Exceptions should be made for dialogs that are larger than their parent window (where it makes sense to leave part of the parent visible, which makes it more obvious to the user what is happening) and property pages that should appear next to the objects to which they are applied .

I would also think about saving screen positions as a percentage of the screen area, not pixels. Thus, using a laptop with and without a large external screen, you will always optimally use the screen area - using absolute coordinates, either parts of the screen will not be used, or the windows will be moved outside the visible area.

+2
source

Depending on the platform, when the application does not have focus when a warning is raised, focus should be avoided. Too simple for a user who is typing a warning message without being able to read it.

eg. on Windows, use the ability to launch a taskbar button.

+1
source

All Articles