日期:2014-05-20  浏览次数:20897 次

如何用C#设计向导程序?有没有什么通用的设计模式?
就像是安装程序那样的一步步指导用户操作,
这个过程怎么进行界面的切换?以前是弹出一个窗体,然后显示下一个窗体时把之前的关闭,但是这种方法太笨拙,太不专业了。打算设计成只有一个窗体,调用不同的界面用一个Panel将子窗体嵌入到界面中,显示下一个界面时再清除,嵌入另一个界面。
其中还要有用户参与操作,比如显示一个提示界面,等待用户刷卡之类的,用户不用点击屏幕上的任何控件,刷了卡就自动跳转下一个界面,这可能需要程序运行时的阻塞,就像弹出一个模态对话框那样。

程序主线程肯定是用来处理界面,开启一个线程用来处理后台数据,调用其他接口。可是怎么才能在子线程中执行到某个地方时向主界面发送消息,显示指定的界面呢?那样的话主线程岂不是要做个消息循环?界面会卡死啊,怎么弄?

不知道这样的向导程序有没有什么通用的设计模式?求做过实际项目的高人指点迷津。
------解决方案--------------------
VS有这样的项目类型
------解决方案--------------------
职责链模式,观察者模式