|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - Печать данных с WindowsForm в С# |
|
.NET - Печать данных с WindowsForm в С#
|
Пользователь Сообщения: 61 |
Профиль | Отправить PM | Цитировать
Здравствуйте. При изучении С# столкнулся с задачей печати документа. Есть форма на ней tabControl1 на каждой вкладке которого в зависимости от назначения разные элементы. В основном по несколько TextBox-ов и обязательно DataGridView. Вопрос такой: воспользовавшись готовыми диалогами организации печати и предварительного просмотра смогу ли я распечатать содержимое данных элементов на одной странице и в тех местах где они расположены, если да, то как правильно это сделать? Почитал Петзольда на эту тему, но конкретных примеров схожих с моей задачей не нашел, если есть скиньте плиз.
|
|
Отправлено: 20:50, 24-10-2015 |
Пользователь Сообщения: 114
|
Профиль | Отправить PM | Цитировать Насколько я понял, задача в соотнесении координат элементов управления на форме и данных на листе, так?
Т.е. печатаем форму, но без элементов; только данные из этих элементов. |
Отправлено: 14:13, 25-10-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 61
|
Профиль | Отправить PM | Цитировать Да вы все правильно поняли. Небольшое уточнение: данные не из всей формы, а только из одной закладки элемента TabControl, на которой размещены TextBox и DateGridView.
|
Отправлено: 15:06, 25-10-2015 | #3 |
Пользователь Сообщения: 61
|
Профиль | Отправить PM | Цитировать С помощью следующих методов добился печати информации из нужных мне элементов.
private void button2_Click(object sender, EventArgs e) { printPreviewDialog1.Document = printDocument1; printPreviewDialog1.ShowDialog(); } private void printPreviewDialog1_Load(object sender, EventArgs e) { } private void printDocument1_PrintPage(object sender, PrintPageEventArgs e) { int WidthDGV1 = dataGridView1.Size.Width; int HiegthDGV1 = dataGridView1.Size.Height; Bitmap bmp = new Bitmap(dataGridView1.Size.Width +WidthDGV1, dataGridView1.Size.Height+HiegthDGV1 ); dataGridView1.DrawToBitmap(bmp,dataGridView1.Bounds); e.Graphics.DrawImage(bmp,0,0); e.Graphics.DrawString(textBox1.Text,new Font("Arial", 14),Brushes.Black,new Point(430,50)); } private void button1_Click(object sender, EventArgs e) { printDocument1.Print(); } Но возникла другая проблема. Информация из DataGridView отображается только та, которая в видимой области, а та, что не помещается в видимой области dataGridview нет. Как решить эту задачу? |
Отправлено: 20:15, 25-10-2015 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] BAT/CMD для принтера озвучиваниея действия (Печать началась или Печать завершена) | DJIOAN | Скриптовые языки администрирования Windows | 36 | 17-12-2014 21:44 | |
V. 2010 - Удаление недоступной базы данных и сервера баз данных Exchange | jayboun | Microsoft Exchange Server | 0 | 10-11-2014 14:57 | |
RDP/Citrix/Term - [решено] печать через уд.раб. стол <RDP, Windows 2003, печать> | ВладимирТ | Сетевые технологии | 7 | 14-02-2008 12:10 | |
печать сопровождается "голосом" ("Печать начата", "Печать завершена") | Shift | Хочу все знать | 2 | 03-07-2006 22:30 | |
Офис и Текст - Печать PRN файлов (печать в файл) | ivieDVeD | Программное обеспечение Windows | 12 | 13-04-2006 16:49 |
|