我在为桌面应用程序开发GUI方面经验不多,但我想开发一个典型的GUI来创建/编辑实体(例如客户,供应商等),这些GUI在许多情况下都是类似的,对用户来说会很舒服
[*请不要关闭这个问题。我付出了很多努力来准备这个问题,我真的需要帮助。 *]
在分析了我们的任务后,我设计了以下可能的选项:
1)在简单的情况下,可以使用普通网格来解决任务:
即。工作流程是:在按下“添加”按钮时,会在网格中添加一个新行。在按Delete键时,如果用户确实要删除焦点实体实例,则会要求用户进行确认。按“保存”后,将保存所有先前进行的更改。在按下关闭时,表单将关闭(系统会询问用户是否要在关闭前保存更改)。
缺点:我认为这样的GUI只适用于非常简单的情况。在网格中编辑复杂的东西既不适合用户也不适合开发人员(我认为在网格中实现复杂的编辑并不是一件容易的事。)
2)对于更复杂的实体,可以使用以下选项:
此处仅在只读模式下使用网格。在按下时添加模式表单以填充有关新实体的信息。按下该表单中的“确定”后,数据将被验证,如果一切正常,则将对象添加到网格数据源中。双击网格行时,将显示用于编辑所选实体实例的相同表单。
缺点:对于每个实体,我们必须创建2个表单。
3)另一种可能的选择:
网格也处于只读模式。当在网格中聚焦一行时,网格上方的字段将被填充,用户可以编辑它们。在按下时添加一个新的实体实例(对象)被创建并添加到网格的数据源,然后新的行被聚焦,网格上方的字段被清除(绑定有帮助),光标被放置到第一个字段,用户可以开始打字。
我没有看到任何缺点,除了你可能没有足够的地方为网格和同一表格上的字段。虽然我不记得我在任何地方看过它,但我喜欢这个选项。
我试图让我的程序的用户帮我决定哪个GUI更适合他们,但典型的答案是“我认为两个选项都没问题”或“我不知道,你决定哪个更好”
现在,我想问一下具有GUI设计经验的人员:
1)您经常使用哪个选项?也许是另一个(上面没有显示)?
2)如果您还说了几个关于您的实现(数据集/自定义业务对象/绑定等)的话,那就太好了
3)你在我的选择中注意到哪些缺点?
4)关于我能读到的关于这个主题的任何建议吗?
谢谢你的帮助!
答案 0 :(得分:1)
Junior1993,这是一个很好的问题,有许多在线资源将说明每种交互设计模式的权衡,何时使用它们,何时最有效。您没有提供项目特定的详细信息,因此无法回答这些问题。
“合作”模式是您写作的基础,您询问的是不同变体的优缺点。以下是“与...合作”的一些阅读:http://quince.infragistics.com/html/PatternView.aspx?name=Work+With
您描述的所有模式都有详细记录,可以修改以适应不同的目的。 你的#2模式是“就地编辑”。它也可以在Quince网站上找到。 你的#3模式是“双面板选择器”。 这个有很多形式,但它有助于在编辑时保留上下文。
你没有提到的那个是“New-Item Row”。您可能也想查看那个,并选择最适合您的用户目标的模式或模式组合以及他们正在创建/编辑的内容。
还有其他模式网站,其中大部分以Jennifer Tidwell的作品为基础,Jennifer Tidwell是“设计界面”的作者,这是一种交互设计经典。
祝你好运!