vb.net - Printing document in multiple pages -
this question has answer here:
private sub cmdprintmembers_click(sender object, e eventargs) handles cmdprintmembers.click printpreviewdialog1.showdialog() end sub private sub printdocument1_printpage(sender object, e printpageeventargs) handles printdocument1.printpage dim font1 new font("times new roman", 26, fontstyle.bold) e.graphics.drawstring("current members list", font1, brushes.blue, 100, 100) dim index, numberseniors, numberjuniors, numberlines integer dim spacing integer = 180 dim onemember string dim font2 new font("courier new", 15, fontstyle.bold) dim font3 new font("courier new", 15, fontstyle.regular) dim font4 new font("courier new", 15, fontstyle.italic) e.graphics.drawstring("surname firstname id category", font2, brushes.black, 100, 150) index = 0 lstmembers.items.count - 1 'process each item in list box onemember = lstmembers.items(index) e.graphics.drawstring(onemember, font3, brushes.black, 100, spacing) if instr(onemember, "senior") <> 0 'instr returns 0 if search string not present numberseniors = numberseniors + 1 else numberjuniors = numberjuniors + 1 end if numberlines = numberlines + 1 spacing = spacing + 30 if numberlines = 28 e.hasmorepages = true numberlines = 0 exit sub end if next e.graphics.drawstring("total members: " & numberjuniors + numberseniors, font4, brushes.black, 100, spacing + 60) end sub
what i'm trying membership information listbox
using for next
loop gets each record listbox
, stores in variable onemember
, details written printing document using e.graphics
. after each record y
co-ordinate(spacing
) increased 30 records written 1 below another. variable numberlines
increases 1 each record written , when problem occurs; numberlines
reaches 28 records set e.hasmorepages
true
, numberlines
set 0 on next page 28 records printed , exit sub
addiotional records written next page. when run program , click control print shows this , number keeps increasing without stopping. can ensure 28 records written in each page?
also, there way write couple of blank lines when records finished written? using e.graphics
wouldn't know exact y
co-ordinate?
edit: question marked duplicate i've tried other solutions such setting e.hasmorepages
outside loop , still can't work.
Comments
Post a Comment