WinForm CRUD应用程序的UI设计,有什么用?

时间:2009-05-04 14:55:12

标签: .net winforms user-interface crud

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

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

我对用户界面的设计很感兴趣。我只设计了非常简单的线性WEBForm CRUD,您可以在页面上执行所需操作,然后单击下一步。

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

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

我非常感谢任何人可能有的建议,见解或例子。 Espeacially如果有人必须自己制作WINForm CRUD应用程序。

您的UI布局有效(或没有)?

我目前的样子就是这里 - >

http://lh6.ggpht.com/_DqVwi_JXyS0/Sf8EI0ETYrI/AAAAAAAABhI/pmAhozErubo/s288/MATRIXUIExample.JPG来自DevFiles

3 个答案:

答案 0 :(得分:5)

免责声明:我一直在做CRUD,因为我不知道有多长时间,但我现在刚开始使用我的第一个winforms应用程序。

所以,一些混合的想法:

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

alt text
(来源:pingmbh.de
左下方打开的窗口列表。 该系统也可以从另一个内部打开一个记录,例如,打开一个客户,显示该客户的订单,双击他的一个订单打开它等等。

现在关于winforms:在做了一些研究之后,我决定不再使用MDI,而是使用包含一些SplitContainers的Form。其中一个容器面板显示打开的窗口列表,另一个显示当前窗体。由于我没有找到在面板中显示表单的方法,因此表单被实现为用户控件。主窗体跟踪打开的窗口并将其显示在窗口列表中。如果用户单击列表中的窗口,或者从程序中的其他位置打开相同的记录,则会将相应的面板置于最前面。正在进行的工作的图片: alt text
(来源:pingmbh.de
考虑从编辑这些记录中分离现有记录的选择,即在具有过滤和搜索功能的某种表格(如网格视图)中显示现有记录,并让用户双击这些记录进行编辑。

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

选择屏幕btw是“新记录”按钮的好地方。

答案 1 :(得分:5)

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

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

答案 2 :(得分:4)

这里有一些可接受的模式,你有时可以高效地将它们结合起来:

  1. 的TabPages
  2. TreeView(Win Explorer文件夹, Visual Studio的工具|选项)
  3. 折叠面板(Outlook 邮件/日历/联系人)
  4. 折叠面板不是标准控件,但有几种可用的实现(这里是just one

    而你并不孤单,为了一些灵感,请看SO answer