我有一个winform项目,其中列出的所有文件在指定的文件夹。它允许用户选择一个新的目标对于每个文件,并且当使用有选择的目的地的所有文件他想要移动,移动的文件,一个接一个。

我的下一个步骤是,我需要显示确认的形式当文件的移动,并加每个文件的名称和目的确认的形式,因为它正在移动。

我的问题是:我怎么可以添加更多的文本的确认形式的控制之后我已经载入(使用 confirm.showdialog() 从我的其他形式的,没有任何用户互动?我想我需要做的,它从原来的形式,因为它需要显示每一个当它开始移动文件,但我打开来的任何建议:)

TIA

有帮助吗?

解决方案

两个以上的答案是好的。

如果我理解正确的话,你的主要形式将允许一个选择的多个文件,然后选择他们的目的地,并启动进程。如果这是你需要什么,我只会做到以下几点:

  1. 创建一个新的形式,将报告进程的用户,而不需要任何互动,但只是告知用户是什么文件被移动;
  2. 创建的实例BackgroundWorker对象,并呼吁文件的移动方法从BackgroundWorker.DoWork()法(内的主要形式);
  3. 你的标志BackgroundWorker报告取得进展,那么叫BackgroundWorker.ReportProgress()事件的处理程序从内的移动文件方法;
  4. 使用以前创建的列表的文件名来获得它的名称和报告,它以文件的移动对话的形式,同时该文件正在改变。一个简单的数据绑定在一个标签应该做的伎俩,同时您会动动你的CurrencyManager到下一个项目内列出,或者你可以使用更简单的清单索引,以获得该文件在一个特定的索引;
  5. 当用户启动移动过程中,得到你的文件和最后设置你的进度的最大价值的文件数量。
  6. 该BackgroundWorker.ReportProgress()方法需要一个整数值作为其论点,然后,用你的则为ProgressChanged()事件处理的,你将能够显示该文件的名称正在复制你的窗口获得的文件的索引的位置,索引你ReportProgress()方法。

这将允许使用性能的补充螺纹,没有"冻结"你的主线从你的形式已经建立,然后你将可以同时执行文件的移动,并显示文件的进展情况-的形式,同时说明用户的视觉上有什么进展是关于通过你的进度的控制,并显示文件作为必需的。

这不会帮助吗?

其他提示

岂不是更简单的,使另一种形式,而不是使用预先设定的对话框?

这样你可以有你填充一个文本框,并刷新

您可以不把所有的代码,以显示确认对话框窗口中的文件的移动。

但要给出一个更完整的解决方案,您能告诉我你是如何收集的文件移动信息。

一个好的解决办法是只在文件列表传递给被移动,然后在对话框中执行的移动功能。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top