Torna al Thread
private void btnTermina_Click(object sender, EventArgs e) //btnTermina è il pulsante che deve far partire la stampa
{
dc.SubmitChanges(); //dc è il mio DataContext
CreaScontrino();
try
{
printDocument1.Print();
}
catch (Exception ex)
{
MessageBox.Show("Impossibile stampare lo scontrino.\n\nDettagli:\n"+ex.Message, "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
}
}
private void CreaScontrino()
{
PaperSize ps = new PaperSize();
ps.PaperName = "Scontrino";
ps.RawKind = (int)PaperKind.Custom;
ps.Width = 224;
ps.Height = 254; //provvisorio
printDocument1.DefaultPageSettings.PaperSize = ps;
}
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
e.Graphics.PageUnit = GraphicsUnit.Millimeter;
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
Font grassetto = new Font(this.Font, FontStyle.Bold);
SolidBrush brush = new SolidBrush(Color.Black);
e.Graphics.DrawString("*** INTESTAZIONE ***", grassetto, brush,
new RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Right - e.MarginBounds.Left, 5), sf);
e.HasMorePages = false;
}