The ReportPrinting library provides a programmatic way (i.e. no visual designer) to print reports. Features include:
- Printing DataTables using classes similar to the DataGridColumnStyle class for formatting (also includes header and summary rows).
- Printing paragraphs of text using style classes.
- Customizable page headers and footers.
- Boxes, Lines, Graphics...
- Thorough class documentation and completely open source (written 100% in managed C#) with examples in C# and VB.NET
I suggest compiling with the 1.1 compiler if you are using Visual Studio .Net 2003. There have been several reports of problems with text not printing correctly, or overlapping other text. This has never shown on my test machines, so I'm led to think there's some incompatibility on other machines that is fixed in .Net 1.1 (although reading through the Microsoft list of changes between versions, I don't see anything that logically makes sense).
- Class descriptions - overview of classes in the ReportPrinting library.
- Printing a report step-by-step - a tutorial for text and a table.
- Layouts - overview of the layout of sections using containers.
Background links for printing
- Master Everyday Printing in .NET - a good introductory article.
- Printing Reports in Windows Forms - an article on printing reports in windows forms, using VB.NET.
- Preview and Print from Your Windows Forms App with the .NET Printing Namespace - a good article on using PrintController, background printing, and other aspects of the printing namespace.
- Other links that you should check out. See if any of these controls meet your needs.