Ich versuche gerade die Einträge aus einem Listview zu drucken. Das ganze klappt auch wunderbar, bis die Einträge länger sind als eine A4 Seite.
Ich bekomme es nicht hin, bzw. weiß nicht genao wo ich bei meinem Code die Abfrage einbauen soll ob die zu druckenden Einträge länger sind als die Seite?
Zur Erkläreung ich habe in einem Listview verschiedene Gruppen. Und möchte zuerst den Gruppennamen und darunter die Einträge die zu dieser Gruppe gehören drucken.
Dazu durchlaufe ich die Gruppen und und überprüfe ob das Listviewitem der Gruppe angehört.
Wie genau stelle ich es am besten an zu überprüfen wann eine 2. Seite angefangen werden muss?
Ich bekomme es nicht hin, bzw. weiß nicht genao wo ich bei meinem Code die Abfrage einbauen soll ob die zu druckenden Einträge länger sind als die Seite?
Zur Erkläreung ich habe in einem Listview verschiedene Gruppen. Und möchte zuerst den Gruppennamen und darunter die Einträge die zu dieser Gruppe gehören drucken.
Dazu durchlaufe ich die Gruppen und und überprüfe ob das Listviewitem der Gruppe angehört.
Wie genau stelle ich es am besten an zu überprüfen wann eine 2. Seite angefangen werden muss?
C#-Quellcode
- private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
- {
- //int i = 0;
- int h = 80;
- // int y = 20;
- e.Graphics.DrawString("Rezeptanforderung " + Properties.Settings.Default.wohnbereich + " vom " + System.DateTime.Now.ToShortDateString(), new Font("Calibri ", 15, FontStyle.Bold), Brushes.Black, 50, 50);
- foreach (ListViewGroup g in listView1.Groups)
- {
- e.Graphics.DrawString(g.ToString(), new Font("Calibri ", 12, FontStyle.Bold), Brushes.Black, 50, h);
- foreach (ListViewItem item in listView1.Items)
- {
- if (item.Checked && item.Group.ToString() == g.ToString() )//&& i < listView1.CheckedItems.Count)
- {
- e.Graphics.DrawString("- "+item.Text, new Font("Calibri ", 10, FontStyle.Regular), Brushes.Black, 50, h + 20);
- if (item.SubItems[1].Text != "")
- {
- h += 15;
- e.Graphics.DrawString("Bemerkung:" + item.SubItems[1].Text, new Font("Calibri ", 9, FontStyle.Regular), Brushes.Black, 50, h + 20);
- }
- h += 15;
- }
- h += 35;
- }
- e.Graphics.DrawString("__________________________", new Font("Calibri ", 9, FontStyle.Regular), Brushes.Black, 50, h+35);
- e.Graphics.DrawString("Unterschrift Wohnbereich", new Font("Calibri ", 9, FontStyle.Regular), Brushes.Black, 50, h + 55);
- }