开发多显示器

发布于 2024-07-05 13:45:00 字数 1448 浏览 8 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

硬不硬你别怂 2024-07-12 13:45:00

一些随机提示:

  • 如果可以同时打开多个窗口,请允许用户将它们显示在单独的屏幕上。 看起来很明显,但一些非常流行的应用程序(例如 Visual Studio)在这方面却惨败。
  • 记住上次打开的窗口的位置,并像以前一样在同一屏幕上打开新窗口。 然而,有时用户会在多显示器和单显示器之间切换(例如,将笔记本电脑与外部 CRT 对接),因此手表也可以覆盖这种情况。
  • 考虑您的特定用户的工作方式,以及同时拥有两个最大化窗口可能会有何帮助。 通常,有一个(相当被动的)参考窗口(例如网络浏览器/帮助)和一个用于数据输入的主动窗口(例如编辑器/数据库)供用户切换。
  • 不要将工具箱/工具栏与其操作的对象放在不同的窗口上(将鼠标移动这么远很不方便)。

Few random tips:

  • If multiple windows can be open at one time, allow users to have them on separate screens. Seems obvious, but some very popular apps (e.g. Visual Studio) fail miserably at this.
  • Remember the position of the last opened window, and open new windows on the same screen as before. However, sometimes users switch between multiple and single-display (e.g. docking a laptop with an external CRT), so watch cover this case as well.
  • Consider how your particular users work, and how having two maximized windows simultaneously might help. Often, there is a (fairly passive) window for reference (e.g. a web browser/help) and an active window for data entry (e.g. editor/database) that users switch between.
  • Do not put toolboxes/toolbars on a different window than objects they operate on (it's inconvenient to move the mouse so far).
杀お生予夺 2024-07-12 13:45:00

Apple 的人机界面指南自 1987 年以来,Mac 就已经涵盖了多个显示器上的窗口管理,当时 Mac II 推出了六个插槽,每个插槽都可以容纳一个显卡。 这些指南提供了一些您在实现多窗口支持时一开始可能没有想到的好指南。 例如,如果一个窗口跨越多个显示器,则应在哪个显示器上打开新窗口? 有一个答案

微软现在可能有类似的东西供 Windows 开发人员遵循; 如果是这种情况,请检查并遵循他们的指南,因为您不想无缘无故地与系统上的其他应用程序(或您的用户习惯的)行为不同。 但是,如果没有指南,请遵循 Apple 的指南,因为它们是经过深思熟虑的,并且最初是通过实验和研究开发的。

Apple's Human Interface Guidelines for the Mac have covered window management on multiple displays since 1987, when the Mac II was introduced with six slots that could all contain a graphics card. The guidelines offer a few good guidelines that you might not think of at first when implementing multiple window support. For example, if a window spans multiple displays, which display should new windows be opened on? There's an answer around Figure 14-33 in the chapter dealing with Window behavior.

Microsoft may have something similar now for Windows developers to follow; if that's the case, check it out and follow their guidelines since you don't want to behave differently than the other apps on the system (or that your users are used to) for no good reason. However, if there are no guidelines, follow Apple's as they're fairly well thought-through and were originally developed through experimentation and research.

小嗲 2024-07-12 13:45:00

拜托拜托拜托。 如果您记得多个显示器的窗口位置。 请检测第二台显示器是否已连接。 我有一台有时会连接坞站的笔记本电脑。 当我尝试打开一个窗口并且它在屏幕外打开时,这非常烦人。

Please Please Please. If you remember window positions for multiple monitors. Please detect if the second monitor is connected. I have a laptop that is sometimes docked. It is very annoying when I try to open a window and it opens off screen.

相思碎 2024-07-12 13:45:00

当我将一个窗口拖到另一个显示器上,然后应用程序生成一个弹出对话框,或者生成另一个窗口,如果该弹出窗口/对话框重新显示在主显示器上时,这很烦人。

我还没有开发多显示器,但我认为如果将子窗口/对话框放置在其父窗口的中心而不是桌面中心(我猜这就是我的情况下发生的情况),可以更好地处理这个问题如上所述)。

It's annoying when I drag a window to another monitor, and then if the application generates a popup dialog, or spawns another window, if that popup/dialog gets displayed back on the primary monitor.

I haven't developed for multi-monitors, but I think this can be better handled if you position child windows/dialogs centered on their parent window, rather than on the desktop center (which I'm guessing is what happens in the case I describe above).

尹雨沫 2024-07-12 13:45:00

我必须向 dbkk 的方向点点头,因为他们抓住了您需要记住的几个要点。

另外,我建议您注意如何使用双显示器,并在开发时牢记这一点。 一般来说,您应该尽量避免做那些让您烦恼的应用程序所做的事情。 另外,不要仅仅因为用户有双显示器就认为他们希望在双显示器上使用您的应用程序。

我要强调的最重要的事情是跟踪应用程序中的焦点位置,并确保任何弹出窗口都发生在该区域内,人们似乎最不喜欢的事情之一就是在应用程序中弹出窗口与他们正在处理的窗口不同的窗口。

I'm going to have to a give a nod in dbkk's direction as they captured a couple of the major points that you need to remember.

Also, I would suggestion paying attention to how you use dual monitors and try to keep that in mind as you are developing. Generally you should try to avoid doing the things that applications you work do that annoy you. Also, don't assume that just because the user has dual monitors that they are going to want to work with your application on dual monitors.

The biggest thing that I would stress is keeping track of where the focus is in the application and making sure that any pop-ups occur within that region, one of the things that people seem to dislike the most is having a window pop-up in a different window then the one they are working on.

傾旎 2024-07-12 13:45:00

一定要把对话框放在你点击调出它们的地方附近。 记住会话之间窗口所在的监视器。 请注意,如果它们的监视器少于上次运行应用程序时的监视器,则需要将窗口带回可见区域。 提供用于切换显示器的图标或按钮。 根据应用程序的类型,能够轻松地将应用程序的窗口平铺在监视器或所有监视器上可能会很有用。

Definitely keep dialogs near where you clicked to bring them up. Remember what monitor the window is on between sessions. Be aware that if they have less monitors than the last time your app was run that you need to bring the windows back to a visible area. Provide an icon or button to switch monitors. Depending on the type of app it may be useful to be able to easily tile your app's windows on a monitor or on all.

八巷 2024-07-12 13:45:00

需要记住的一件事是用户可能有两个以上的显示器。 我的主系统有六个显示器,并且我在 Linux、Windows 和 Mac OS 上运行了 4 个以上的显示器。 许多应用程序(甚至是多显示器实用程序)将支持 2 个显示器,但超过 2 个显示器就会让人抓狂。

当应用程序了解其窗口位置并与这些窗口的位置相关时,它们的工作效果最佳。 正如其他人提到的,如果您要记住窗口在哪里,请确保当用户回来时几何形状仍然有意义。

如果操作系统/窗口系统调度与屏幕几何形状变化相关的事件,如果您正在做任何奇怪的事情,请处理它。

我认为现在大多数编码良好的应用程序通常都能工作。

One thing to keep in mind is that the user may have more than two monitors. My main system has six monitors, and I've run 4+ monitors on Linux, Windows, and Mac OS. Many applications--even multi-monitor utilities--will support 2 monitors but freak out over more than 2.

Applications work best when they know about where their windows are and relate to the locations of those windows. And as someone else mentioned, if you're going to remember where a window was, make sure that geometry still makes sense when the user comes back.

If the OS/window system dispatches an event related to the change of screen geometry, handle it if you're doing anything funky.

I think most applications that are well coded generally work these days.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文