2

我在为桌面应用程序开发 GUI 方面几乎没有经验,但我想开发一个典型的 GUI 来创建/编辑实体(例如客户、供应商等),这在许多情况下都是相似的,并且对用户来说很舒服。

[* 请不要关闭问题。我为准备问题付出了很多努力,我真的需要帮助。*]

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

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

仅网格

即工作流程是: 在按下添加按钮时,将新行添加到网格中。在按下 Delete 时,用户会被要求确认他/她是否真的想要删除焦点实体实例。按下 Save 后,所有先前所做的更改都会被保存。按下关闭时,表单将关闭(询问用户是否要在关闭前保存更改)。

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

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

用于创建/编辑的网格和模式形式

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

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

3)另一种可能的选择:

网格将字段放在同一表单上

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

我在这里看不到任何缺点,只是您可能没有足够的位置放置网格和同一表单上的字段。我喜欢这个选项,虽然我不记得我在任何地方看到过。


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

现在我想问有GUI设计经验的人以下问题:

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

谢谢你的帮助!

4

1 回答 1

1

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

“Work With”模式是你写作的基础,你问的是不同变体的优缺点。这里有一些关于“Work With”的读物:http: //quince.infragistics.com/html/PatternView.aspx ?name=Work+With

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

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

还有其他的模式网站,大多数都建立在 Jennifer Tidwell 的作品之上,他是交互设计经典作品“Designing Interfaces”的作者。

祝你好运!

于 2013-05-30T17:59:08.057 回答