Очередь печати из WebBrowser (печать нескольких документов) - Visual Basic .NET
Формулировка задачи:
Добрый день, Товарищи!
Бьюсь третий день...
Задача распечатать больше1 документа через webbroser.
Проблема: Текст не успевает загрузиться когда больше одного документа.
То есть
Пробовал по разному и в for each вставить принт, тогда вообще ничего не происходит, пробовал на "WebBrowser1_DocumentCompleted" вешать состояние принт после загрузки, но это же никак не останавливает наш цикл for each и он просто забивает новый текст до того, как загрузился старый.
Нашел решение вызов Dialog формы, при возвращении ok печатаем.... И все ок, будет 3 файла? Пока вызывается форма он успевает загрузить текст.
Побочная проблема, если файлов 10, юзеру нужно ждать 10 окон и жать ок? Ставлю галочку "ок для всех", и всплывает старая проблема.... Он пролетает это окно на бешенной скорости и опять не успевает грузить текст.
Вопрос: 1.Какие варианты вообще есть для печати нескольких документов Вы браных юзером. ( может вообще без for each можно обойтись? Может со стороны виднее)
2. Или как можно остановить for each по условию? Thread не получилось у меня.... do while тоже....
3.Пробовал так же вешать thread только на диологовую форму... но не понимаю... метод кладет весю поток...не получилось у меня заморозить лишь потом формы.
П.С. или же вообще можно не грузить текст в форму? Мне не нужен предварительный просмотр и разделение страниц....
Если кто откликнутся, спасибо большое!
Листинг программы
- For Each line In Split(str, vbCrLf) ''' строки с названием выбранных нами шаблонов
- WebBrowser1.Navigate(nameFile)
- Tekst = Общий_шаблон(IO.File.ReadAllText((nameFile), System.Text.Encoding.Default), Replace(line, ".htm", "")) '' обрабатываем текст
- WebBrowser1.DocumentText = Tekst '' загружаем его
- печатаем!!!
- Next
Решение задачи: «Очередь печати из WebBrowser (печать нескольких документов)»
textual
Листинг программы
- Do While WebBrowser1.IsBusy = True
- Application.DoEvents()
- Loop
- 'Документ зашружен, печатаем...
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д