C# 2008 - Stampare contenuto windows forms

mercoledì 11 maggio 2011 - 14.24

enrico.rm Profilo | Newbie

Ciao ragazzi,

ho questa funzione che da la possibilità di stampare il form che sto vedendo:

//Stampa
PrintDocument PrintDoc1 = new PrintDocument();
PrintPreviewDialog PrintPreviewDialog1 = new PrintPreviewDialog();

private void PDoc_PrintPage(object sender, PrintPageEventArgs e)
{
Bitmap bmp = new Bitmap(this.Width, this.Height);
//this.DrawToBitmap(bmp, this.ClientRectangle);
this.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height)); //Takes the Snap of the Exact WindowForm size as Bitmap image
e.Graphics.DrawImage(bmp, 0, 0);
}


Funziona tutto, tranne che per il contenuto di 3 richtextbox che non mi stampa. Chi mi aiuta? grazie!! Ecco lo screen, come vedete le richtextbox non vengono visualizzate

813x754 256Kb


////////////////////////////////////////////

Ho risolto mettendo delle textbox con Multiline a true e scrollbars vertical. La differenza non si nota ma così almeno posso stamparla!
Grazie lo stesso.

totti240282 Profilo | Guru

Vista la struttura , perche non usi un printform ???

http://msdn.microsoft.com/it-it/library/microsoft.visualbasic.powerpacks.printing.printform(v=vs.90).aspx
http://msdn.microsoft.com/en-us/vbasic/bb735936
http://community.dotnetwork.it/mario.deghetto/archive/2010/01/26/vb-2005-2008-controllo-printform.aspx
C'è solo un capitano !!!!!!

Brainkiller Profilo | Guru

>Ho risolto mettendo delle textbox con Multiline a true e scrollbars
>vertical. La differenza non si nota ma così almeno posso stamparla!
>Grazie lo stesso.

Ciao,
qualora ti servisse puoi fare così:

private void button2_Click(object sender, EventArgs e) { timer1.Enabled = true; SendKeys.SendWait("%{PRTSC}"); } private void timer1_Tick(object sender, EventArgs e) { if (Clipboard.ContainsImage()) { Image img = Clipboard.GetImage(); pictureBox1.Image = img; timer1.Enabled = false; } }


753x481 89Kb


In pratica simuli la pressione di alt+stamp che fa la screenshot della finestra corrente, e poi recuperi la screenshot dalla Clibpoard. Ho smadonnato mezz'ora ma funziona.
Ciao

David De Giacomi | <empty>
http://blogs.dotnethell.it/david/

enrico.rm Profilo | Newbie

Grazie ragazzi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5