| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Печать части окна программы. |
| Автор: ldk13 9.11.2008, 14:45 |
| Помогите пожалуйста, нужно напечатать часть окна программы. Все окно размером 1010 на 570. А напечатать надо по координатам прямоугольника 10(Х начальное),10(У начальное),800(ширина),500(длина). я так понимаю нужно использовать printdialog? Как это сделать? |
| Автор: ldk13 9.11.2008, 17:47 |
| Ну или вообще как напечатать окно формы? Хотя бы целиком все. Как вообще печатать? |
| Автор: mr.DUDA 9.11.2008, 20:11 | ||
Да проще простого!
Всё, в битмапе лежит твоя форма. Подразумевается что код выполняется для формы; если нужно скопировать содержимое произвольного контрола, юзаем myControl.DrawToBitmap и так далее. |
| Автор: ldk13 9.11.2008, 20:22 |
| mr.DUDA, а как напечать вывести этот bmp? :( printDialog1.ShowDialog(); c помощью вот этого. |
| Автор: mr.DUDA 9.11.2008, 20:26 | ||
|
| Автор: ldk13 9.11.2008, 20:55 | ||
Сделал так:
Часть окна напечатать получилось, спасибо! Но она печатается пустое... А надо что было с тем, что на нем нарисовано... Как на картинке. Квадрат не захватывает почему то рисунок. + еще по теме, когда окно сворачивается или разворачивается нарисованное теряется.. Пробовал исправить обработчиком Activated. Но это помогает частично, все равно когда сворачиваешь и разворачиваешь рисунок пропадает, надо перисовать кнопкой... |
| Автор: mr.DUDA 9.11.2008, 21:18 |
| В DrawToBitmap как-то по кривому обрабатывается переданный прямоугольник. Можно отрисовать полнотстью всё окно в один битмап, затем создать Graphics из нового битмапа по требуемым размерам и сделать туда DrawImage первого битмапа. Насчёт сворачивать-разворачивать, скорее всего нужно обработать первое событие Paint после Activated и уже там делать DrawToBitmap, там размеры окна будут актуальны. |