Home > Ask the Microsoft .Net Development Experts > Visual Studio .NET Questions & Answers > How do I print a form in VB.NET?
Ask The Win Development Expert: Questions & Answers
EMAIL THIS

How do I print a form in VB.NET?

Chris Sells EXPERT RESPONSE FROM: Chris Sells

Pose a Question
Other Win Development Categories
Meet all Win Development Experts
Become an Expert for this site


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


>
QUESTION POSED ON: 27 December 2002
I was wondering how to print a form in VB.NET. With VB6 you could use 'PrintForm', but this is not supported by VB.NET. No books I have read have discussed this either. I just want to print the form as is on the screen by clicking a click button on the form. Something so simple has really got me stumped and frustrated. Can you help me out with this?

>
Unfortunately, dumping a form directly to the printer is not supported in WinForms. However, the printing architecture in .NET is very simple and does allow you to print whatever you want using drawing commands from the System.Drawing namespace. The basic unit of printing in WinForms is the print document. A print document describes the characteristics of what's to be printed, like the title of the document, and provides the events at various parts of the printing process, like that it's time to print a page.

The print document is modeled using the PrintDocument component from the System.Drawing.Printing namespace and is available from the Toolbox. The basic usage of a PrintDocument object is to create an instance, subscribe to at least the PrintPage event, call the Print method and handle the PrintPage event:


PrintDocument printDocument1;

void InitializeComponent() {
  this.printDocument1 = new PrintDocument();
  ...
  this.printDocument1.PrintPage +=
  new PrintPageEventHandler(this.printDocument1_PrintPage);
  ...
}

void printButton_Click(object sender, System.EventArgs e) {
  printDocument1.DocumentName = fileName;
  printDocument1.Print();
}

void printDocument1_PrintPage(object sender, PrintPageEventArgs e) {
  // Draw onto the e.Graphics object
  Graphics g = e.Graphics;
  using( Font font = new Font("Lucida Console", 72) ) {
    g.DrawString("Hello,nPrinter", font, ...);
  }
}


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



RELATED CONTENT
Ask the Expert
Read data from parallel port
Escape from mailto:
In C#, how can I change the properties of controls on another form?
How do I add images in listview by using VB.NET?
What is the best technique for connecting to a database from VB.NET?
How do you use control collection in VB.NET?
Is ADO.NET record locking no longer an option?
How do I get my start page back?
Using an array, how can I create a combo box that lists a dropdown menu for units of length?
How do I determine the type of a control on a Windows Form in VB.NET?

Visual Studio .NET
Load a DSL domain model instance file programmatically
Calling via command prompt from ASP.NET
On line-by-line analysis in VS .NET
Best approach for merging text files using arrays
Descriptions of symbols in the class view of a .NET solution
What's the best approach for enumerating network resources?
How to enable a line-by-line code walkthrough
Changing a C++ Makefile project to a Utility project
How can I configure Visual Studio.NET 2002 to use the .NET Framework 1.1?
Changing a datagrid column to read-only=false based on variable

Visual Studio .NET (Archive)
What could be causing this problem with my add New and delete methods?
Is there a .NET equivalent to netsend that I can use in VB.NET?
I'm getting a lot of flickering on my application
How can I make a VB6 network app available on the Internet using .NET?
How can I implement an FTP upload using VB.NET?
VB.NET app works on my local drive but not on the network drive
Is developing add-ons for Windows Explorer supported using managed code in .NET?
In C#, how can I change the properties of controls on another form?
How do I add images in listview by using VB.NET?
What is the best technique for connecting to a database from VB.NET?

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary



Search and Browse the Expert Answer Center
Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
Browse our Expert Advice



Windows Development - White Papers, News and Expert Advice
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2000 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts