Я не уверен точно, где находится ваш код печати или где вы хотите индикатор выполнения, но я недавно сделал нечто похожее на это. Это будет в 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, но это стоит попробовать.