none
求证一个简单软件的实现方式是否可行 RRS feed

  • 常规讨论

  • 大家好~

    我以前没有Windows桌面应用的经验,最近因为项目需求,要开发一个简单的软件,于是开始学习Windows Forms,打算用它来实现,我想描述一下软件需求和实现思路,向大家求证一下是否可行(我知道这里是WPF的论坛,但我在其他板块没有看到Windows Forms的论坛,所以发到了这里,如果发错了地方请见谅)。

    软件的需求和实现方式:

    1. 登录部分
      打开软件后首先有一个登录界面,用户输入登录信息点击登录后,如果通过验证则进入主页面。实现方式:整个程序有一个主窗体,登录界面包含在一个Panel中,点击登录按钮会触发事件与远程服务器交互,验证正确后隐藏登录的Panel,显示包含程序主界面的Panel。
    2. 监控部分
      用户点击主界面中的开始监控按钮后,程序定期从远程服务器通过接口拿数据,再经过处理后显示在程序界面中,当点击停止按钮后,程序停止拿数据。实现方式:点击开始按钮会将一个Timer的Enabled设置为true,点击停止按钮会设置为false。Timer的Tick事件会去服务器拿取数据,拿到数据以后调用一个BackgroundWorker的DoWork方法,做出一番处理,然后在RunWorkerCompleted方法中将处理结果更新到主界面的Grid控件上。
    3. 程序退出部分
      用户关闭程序的时候,一定要确保通过BackgroundWorker启动的工作线程能够执行完毕,这个地方该如何保证?我需要做额外的处理吗?

    多谢!

    • 已更改类型 Jie Bao 2012年4月26日 8:57
    • 已移动 Jie Bao 2012年4月26日 8:57 (发件人:Windows Presentation Foundation)
    2012年4月26日 7:00

全部回复

  • 工作线程是会有状态的,你只要检测它的状态就可以知道是否执行完毕. 或者在没有执行完毕前把Close按钮Disable.  当然这样我们还需要考虑是否需要超时时间,如果一直没反应,那么等待多久算超时。

    论坛是错了,我帮你移。 还有,这样的问题只能算个讨论,因为并没有包含一个明确的技术上的问题,只是一种需求可行性讨论。


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年4月26日 8:56