对不起,如果标题有点不伦不类,我真的说不出来。
基本上,我所拥有的是以下场景:
我有一个用户界面(WinForm),允许用户选择多个文件下载,然后点击“下载”按钮开始下载。所有下载都是异步处理的,以避免锁定表单。但是,虽然我不希望表单因“未响应”消息而锁定,但我也不希望用户能够在下载运行时修改表单字段。
理想情况下,我想生成一个模态对话框,让用户知道下载的状态(即类似于 firefox,除了模态对话框)。这可以用一块石头杀死 2 只鸟,因为它允许用户很好地查看下载进度,同时还可以在对话框处于活动状态时阻止用户与父窗体交互。
但是,为了正确地让用户了解下载进度,我需要在运行时更新对话框。这是我碰壁的地方。我目前的想法是公开我的对话框类的一些公共方法,以便在文件完成时向其发送更新,并从后台下载线程中调用它们(使用适当的委托来更新控件等)
我很确定这会按我的意愿工作,但我只是想知道是否有更优雅的解决方案来解决这个问题。不要局限于对话方法,我对所有可能提供更好选择的方法持开放态度。
干杯,J