2009-10-11 98 views
0

我(仍然)正在编写一个小应用程序,它需要我使用多个窗体窗体才能显示给用户。使用多窗口窗体的应用程序

当应用程序使用多个外部设备执行测试时,某些表单只显示进度消息。

的形式将通常是为了被使用(参见下文),但可能存在一些误差来自设备,在这种情况下将用于报告形式的错误拾取。用户可以选择回到开始或第二次测试(第一次测试需要30分钟执行)。错误报告可以从任何其他形式调用。

此外,最终表单可以选择返回到开始在新设备上执行测试。

显然这会导致一组表单变得相当纠结。如果它被用于几个设备有错误等

所以我有几个问题。

我使用的形式正确,如果是,我如何通过控制从一种形式到下一个,而不必返回到原始形态,如果是有道理的?

我还可以有机会获得在前面的形式创建的所有变量,或者我应该建立在最初的形式设置所有的变量?

或者我是否应该在一个父母表格中完成所有处理,并简单地“显示”其他表格作为该程序的一部分?

我希望这听起来不太愚蠢,但我还没有在C#中使用多种形式。这些步骤也是相互依赖的。

以下是形式通常的流程图,与PRGERREP从任何形式的(更多或更少)被调用。

PRGSTART 
PRGDEFAULT 
PRGTEST1 
PRGTEST2 
PRGTEST3 
PRGTEST4 
PRGMANUAL 
PRGFINALE 

PRGERREP 

任何帮助或建议将不胜感激。

回答

1

请尝试关注更多的问题,而不是上下文。 即使我不确切地知道你想要什么,你应该检查出MDI应用程序。

基本上你有一个父窗体与几个子窗体。如果你的测试完成了,你可以从父窗体调用BringToFront()相应的子窗口。

0

我质疑为此使用多个表单的要求。大多数应用程序显示任务的所有信息;进度,测试,错误,消息等。在一个窗口中,不是多个窗口。 Web浏览器和办公应用程序是非常复杂的程序,可以在一个窗口中显示所有任务信息。

,你是想“通过控制”多种形式之间,这一事实使我怀疑使用多窗口是一个不好的设计。现在查看屏幕上的窗口;每一个都是一个独立的环境,不需要彼此之间“交叉控制”。

如果你试图让用户做一些序列,然后再前往下一个步骤,允许用户“回到年初”处理错误,一个精灵般的设计可能会更好。

为第一个任务创建一个带有字段和按钮的窗体。点击一个按钮重新绘制下一个任务的字段和按钮,按钮返回或重新开始。这可以比创建一堆单独的表单并尝试在它们之间同步数据更容易完成。

+0

谢谢。 我不认为我把足够的精力投入到这个设计当中,因为它不是一个真正的大应用。 我想我会每步一个表格,我认为这将需要在一个大型复杂的应用程序,使用OOAD? 所有的中间步骤都可以使用相同的形式,在每一步重置以清除前面的步骤消息。 第一种形式需要用户输入,他们需要选择要测试的设备类型,并输入详细信息,如序列号和名称等。 – George 2009-10-11 18:36:56

+0

然后,应用程序将按顺序执行所有步骤因为我们需要跟踪设备进行相关测试的状态。 然后最后我需要向用户提供一个选项来保存和打印信息,然后再进行另一次测试或退出。 Errorrep只是输出一个相关的消息选项重新开始,从第2步开始或退出。 你可以改变程序中窗口的外观吗?第一个窗口会有几个输入字段,而其他窗口在同一个地方会有一个大的消息区域,您将如何处理各种按钮 – George 2009-10-11 18:40:29

+0

关于在应用程序中移动,回到开始,到第2步等等这也很容易在C#中完成? – George 2009-10-11 18:41:06

0

考虑继承ApplicationContext以在您的应用程序中实现此逻辑。请参阅herehere