User interface 设计用于编辑实体的典型GUI[桌面应用程序]

User interface 设计用于编辑实体的典型GUI[桌面应用程序],user-interface,desktop,usability,entities,User Interface,Desktop,Usability,Entities,我在为桌面应用程序开发GUI方面没有什么经验,但我想开发一个用于创建/编辑实体(如客户、供应商等)的典型GUI,它在许多情况下都是相似的,对用户来说是舒适的 [*请不要结束问题。我在准备问题时花了很多精力,我真的需要帮助。*] 在分析我们的任务后,我设计了以下可能的选项: 1) 在简单的情况下,可以使用普通网格解决任务: 即,工作流程是:按下“添加”按钮时,将向网格中添加新行。按Delete键时,会要求用户确认是否确实要删除聚焦实体实例。按Save可保存以前所做的所有更改。按“关闭”时,表单将

我在为桌面应用程序开发GUI方面没有什么经验,但我想开发一个用于创建/编辑实体(如客户、供应商等)的典型GUI,它在许多情况下都是相似的,对用户来说是舒适的


[*请不要结束问题。我在准备问题时花了很多精力,我真的需要帮助。*]

在分析我们的任务后,我设计了以下可能的选项:

1) 在简单的情况下,可以使用普通网格解决任务:

即,工作流程是:按下“添加”按钮时,将向网格中添加新行。按Delete键时,会要求用户确认是否确实要删除聚焦实体实例。按Save可保存以前所做的所有更改。按“关闭”时,表单将关闭(询问用户是否希望在关闭前保存更改)

缺点:我认为这样的GUI只适用于非常简单的情况。在网格中编辑复杂的内容对用户和开发人员来说都不舒服(我认为在网格中实现复杂的编辑并不是一件小事)

2) 对于更复杂的实体,可以使用以下选项:

此处仅在只读模式下使用网格。按Add(添加)时,将显示用于填写新实体信息的模式表单。在该表单中按OK时,数据将被验证,如果一切正常,对象将添加到网格数据源。双击网格行时,将显示用于编辑所选实体实例的相同表单

缺点:对于每个实体,我们必须创建2个表单

3) 另一种可能的选择:

网格也处于只读模式。聚焦网格中的一行时,网格上方的字段将被填充,用户可以对其进行编辑。按Add时,将创建一个新的实体实例(对象)并将其添加到网格的数据源中,然后新行被聚焦,网格上方的字段被清除(此处的绑定帮助),光标被放置到第一个字段,用户可以开始键入

我在这里没有看到任何缺点,除了你可能没有足够的空间来放置同一表单上的网格和字段。我喜欢这个选项,虽然我不记得我在哪里见过它


我试图让我的程序的用户帮我决定哪个GUI更适合他们,但典型的答案是“我认为两个选项都可以”或“我不知道,你决定哪个更好”

现在,我想向具有GUI设计经验的人员询问以下问题:

1) 你通常使用哪种选择?可能是另一个(上面没有显示)?
2) 如果您还就您的实现(数据集/自定义业务对象/绑定等)说几句话,那就太好了
3) 您在我的选项中注意到了哪些缺点?
4) 关于这方面我能读到什么有什么建议吗


谢谢你的帮助

Junior1993,这是一个很好的问题,有许多在线资源将详细说明每种交互设计模式的权衡,何时使用它们,何时最有效。您没有提供特定于项目的详细信息,因此无法回答这些问题

<工作模式】是你写作的基础,你问的是不同变化的利弊。以下是一些关于“与合作”的阅读:

您描述的所有模式都有很好的文档记录,可以根据不同的目的进行修改。 您的#2模式是“就地编辑”。它也可以在昆斯网站上找到。 您的#3模式是“双面板选择器”。 这一种有多种形式,但它有助于在编辑时保留上下文

您没有提到的是“新项目行”。您可能也想看看这个,然后选择最适合您的用户目标和他们正在创建/编辑的内容的模式或模式组合

还有其他一些模式网站,大多数都是基于Jennifer Tidwell的作品,她是《设计界面》一书的作者,这是一部互动设计的经典之作


祝你好运

请不要结束这个问题。我花了很多精力准备这个问题,我真的需要帮助。这个问题不适合问答形式。你应该在聊天或某个论坛上引用这篇好文章。彼得,问题是我两天前已经在另一个大论坛上发布了这个问题,但只得到了一个答案(那个家伙说选择2更好)。这就是为什么我决定尝试Stackoverflow。感谢您的帮助!