Solved

Help with printing a form

Posted on 2008-06-19
6
182 Views
Last Modified: 2011-10-19
I need a simple "Alt-prtscrn" style print of mu form, so I am using code from http://msdn.microsoft.com/en-us/library/aa287529(VS.71).aspx to print a C# form. This works Ok, except that I am invoking the printButton_Click method from a File|Print menu and parts of the menu overlay the capture image.

What is the quick/simple way to avoid the menu appearing in the printed image ?

A web search reveals numerous examples but none address my particular issue. I'm open to other methods of printing but I don't really want to write code to render individual controls.
0
Comment
Question by:donotdespisethesnake
  • 3
  • 3
6 Comments
 
LVL 69

Expert Comment

by:Éric Moreau
Comment Utility
even if you are in C#, you can use the VB PowerPacks 3.0 controls. It let you hides some controls before printing. See http://www.emoreau.com/Entries/Articles/2008/03/Microsoft-Visual-Basic-Power-Packs-30.aspx
0
 

Author Comment

by:donotdespisethesnake
Comment Utility
Those controls are nice (print preview!),. but the PrintForm has exactly the same problem! The File menu appears in the captured image.

How can I hide the File menu before printing?
0
 
LVL 69

Expert Comment

by:Éric Moreau
Comment Utility
it is explained in my article:
"Any control that is not visible is not rendered on the output. This is useful if you want to hide some controls. You simply need to set them to invisible, use the Print method and set them visible back again."

            Me.MenuStrip1.Visible = False
            .Print(Me, PowerPacks.Printing.PrintForm.PrintOption.FullWindow)
            Me.MenuStrip1.Visible = True
0
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 

Author Comment

by:donotdespisethesnake
Comment Utility
I guess I didn't explain well, the picture might help. The leftover graphics is from the activation of the File menu, hiding the menustrip doesn't help with that


image.JPG
0
 
LVL 69

Expert Comment

by:Éric Moreau
Comment Utility
I have this code, in the click event of a menu item, and I don't have your side effect. My code is:

    Private Sub PrintToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrintToolStripMenuItem.Click
        'btnPrint.PerformClick()
        With PrintForm1
            .PrintAction = Printing.PrintAction.PrintToPreview

            Me.MenuStrip1.Visible = False
            .Print(Me, PowerPacks.Printing.PrintForm.PrintOption.FullWindow)
            Me.MenuStrip1.Visible = True
        End With
    End Sub

What is your code?
0
 

Accepted Solution

by:
donotdespisethesnake earned 0 total points
Comment Utility
Ok, I found a simple solution. I just need to put "this.Refresh()" before I capture the screen. This allows the form to repaint itself.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

We all know that functional code is the leg that any good program stands on when it comes right down to it, however, if your program lacks a good user interface your product may not have the appeal needed to keep your customers happy. This issue can…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now