12

我正在为一大群护士和社会工作者设计一个 WinForms CRUD “like”应用程序,以与客户信息进行交互。

对于任何给定的客户,他们需要“可能”与之交互的许多不同形式(大约30种),并且对于特定的人,他们“可能”需要从一个跳到另一个。

我正在努力设计用户界面。我只设计了非常简单的线性 WEBForm CRUD,您可以在其中在页面上执行您需要的操作,然后单击下一步。

什么对非线性 WINForm CRUD 应用程序有意义?

我已经开始在这些选项卡中嵌入表单的选项卡路径,但可能由于我缺乏能力,该程序感觉非常庞大。我不确定直接 MDI 是否可行,因为我有非常简单的用户,如果窗口“隐藏”,他们可能很容易混淆。

我非常感谢任何人可能拥有的任何建议、见解或示例。特别是如果有人不得不自己制作 WINForm CRUD 应用程序。

哪种 UI 布局对您有效(或无效)?

我目前的样子的一个例子在这里 -->

来自DevFiles

4

3 回答 3

5

免责声明:我一直在做 CRUD,我不知道有多久了,但我现在才开始使用我的第一个 winforms 应用程序。

所以,一些混合的想法:

在我们当前的系统(使用 Centura/Gupta 编写)中,我们使用类似 MDI 的方法。我认为允许用户开始处理新记录而不强迫他关闭当前工作很重要,因此始终显示打开窗口的列表以允许在不同表单之间快速切换。例子:

替代文字
(来源:pingmbh.de
左下方打开的窗口列表。该系统还可以从另一个记录中打开一个记录,例如打开一个客户,显示该客户的订单,双击他的一个订单以打开它等等。

现在关于winforms:在做了一些研究之后,我决定反对MDI,而是使用包含一些SplitContainers的表单。其中一个容器面板显示打开的窗口列表,另一个显示当前窗体。由于我没有找到在面板中显示表单的方法,因此表单被实现为用户控件。主窗体跟踪打开的窗口并将它们显示在窗口列表中。如果用户单击列表中的窗口,或从程序中的其他位置打开相同的记录,则会将相应的面板带到前面。正在进行的工作图片:( 来源:pingmbh.de替代文字

考虑将现有记录的选择与这些记录的编辑分开,即将现有记录显示在具有过滤和搜索功能的某种表格(如网格视图)中,并让用户双击这些记录进行编辑。

我注意到在您的屏幕截图中,您有“插入”和“更新”按钮。这是为了创建新记录和保存现有记录吗?我认为更好的方法是给用户一个“新建”按钮,然后打开一个包含“保存”和“取消”按钮的表单。用户可能并不总是记得他是否开始编辑新记录或现有记录。

顺便说一句,选择屏幕是“新记录”按钮的好地方。

于 2009-05-04T17:08:43.390 回答
5

我通过 CRUD 类型的应用程序学到的最重要的事情之一是确保几乎每个按钮都有热键,并且标签顺序设置正确。

大多数时候,当您进行数据输入/修改时,您不希望将手从键盘上移开以将鼠标移动到提交/更新按钮,尤其是在处理大量数据的情况下。将这两项按顺序排列将大大提高应用程序的生产力。

于 2009-05-04T17:33:02.223 回答
4

这里有一些公认的模式,有时您可以有效地组合它们:

  1. 标签页
  2. TreeView(Win Explorer 文件夹,Visual Studio 的工具|选项)
  3. 折叠面板(Outlook 邮件/日历/联系人)

折叠面板不是标准控件,但有几种可用的实现(这里只有一个

而且您并不孤单,对于一些灵感,请参阅这个SO answer

于 2009-05-04T17:29:57.677 回答