Использование Graphics
для простой распечатки текста - не лучший вариант. Как вы поняли, будет много вещей, с которыми вам придется иметь дело. Выберите лучший инструмент для вашей работы. Для этого есть множество сторонних инструментов, но если вы предпочитаете использовать встроенные инструменты, попробуйте отчеты RLDC.
Из вашей панели инструментов поместите Report
и ReportViewer
в форму и сделайте их скрытыми. Кроме того, вы можете создавать их в коде, а не добавлять их в пользовательский интерфейс.
Далее, пройдите через строки в вашем TextBox
(или, лучше, в источнике этих строк) и введите их в DataTable
с одним столбцом. Затем присвойте DataTable
свойству DataSource
Report
. Если источником линий в вашем TextBox
является объект IEnumerable
, такой как List<>
, то вам не нужен вышеуказанный шаг, и вы можете назначить его непосредственно свойству DataSource
Report
.
Наконец, визуализируйте Report
в ReportViewer
и распечатайте его.
Вот пошаговое руководство по : печать локального отчета без предварительного просмотра .