将页面发送到打印机(WPF)时显示进度条

时间:2010-09-15 12:30:34

标签: wpf printing flowdocument

我正在使用流文档在WPF中创建打印输出。这些打印输出设置在放置DocumentViewer的单独窗口中。 当用户点击打印时,我想显示一个进度条,通知当前发送到打印机的页面。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

我不确定您的打印代码到底在哪里,或者您想要进度条的位置,但我最近做了类似的事情。这将在VB.net中。

首先,在与用于将页面发送到打印机的代码相同的类中创建一个新的进度条。然后,我们将利用代码块中的“自上而下”顺序来更改进度条。

默认情况下,进度条的值应设置为“0”。现在,在将页面发送到打印机的代码中,您将增加进度条的值(例如使用代码“MyProgressBar.Value = MyProgressBar.Value + 1”)。将此代码放在要显示进度的代码的每一行之间。

我会将代码的“+ 1”部分更改为另一个值,因此您的进度条会在每个步骤后平均进行。如果您有三行代码,则使用“+ 33”(100 \ 3),四行使用“+ 25”等。

最后,在代码的最后,设置“MyProgressBar.Value = 100”

但是,如果您有权访问长于一行的代码,则此方法有效。对于一行代码,我不确定它是如何工作的,除非你可以找到行所指向的代码块。

如果您必须使用其他课程的代码,您可能需要执行类似......

的操作
Dim MyWindowWhereProgressIs As New MyWindowWhereProgressIs

然后,每次需要更改值时,请尝试...

MyWindowWhereProgressIs.MyProgressBar.Value = MyWindowWhereProgressIs.MyProgressBar.Value + 1

我不完全确定最后两行代码是否可行,因为我现在远离Visual Studio,但值得一试。