CODE :
private void btnprint_Click(object sender, EventArgs e)
{
PrintDocument document = new PrintDocument();
document.PrintPage += new PrintPageEventHandler(document_PrintPage);
PrintPreviewDialog ppDialog = new PrintPreviewDialog();
ppDialog.Document = document;
ppDialog.Show();
}
void document_PrintPage(object sender, PrintPageEventArgs e)
{
PrintDocument document = (PrintDocument)sender;
Graphics g = e.Graphics;
Brush brush = new SolidBrush(Color.Black);
Pen pen = new Pen(brush);
Font font = new Font("Arial", 10,FontStyle.Bold);
Font fonte = new Font("Arial", 15, FontStyle.Bold);
int x = 0, y = 0, width = 200, height = 30;
SizeF sizeeee = g.MeasureString("TIME :: ", fonte);
float xPaddingeee = (width - sizeeee.Width) / 2;
g.DrawString("TIME :: ", fonte, brush, x + xPaddingeee, y + 5);
x += width;
SizeF sizee = g.MeasureString(DateTime.Now.ToString(), fonte);
float xPaddinge = (width - sizee.Width) / 2;
g.DrawString(DateTime.Now.ToString(), fonte, brush, x + xPaddinge, y + 5);
x += width;
for (int kk = 0; kk < 2; kk++)
{
SizeF sizeee = g.MeasureString("", font);
float xPaddingee = (width - sizee.Width) / 2;
g.DrawString("", font, brush, x + xPaddingee, y + 5);
x += width;
}
x = 0;
y += 60;
foreach (DataColumn column in vdt.Columns)
{
g.DrawRectangle(pen, x, y, width, height);
SizeF size = g.MeasureString(column.ColumnName, fonte);
float xPadding = (width - size.Width) / 2;
g.DrawString(column.ColumnName, fonte, brush, x + xPadding, y + 5);
x += width;
}
x = 0;
y += 30;
int columnCount = vdt.Columns.Count;
foreach (DataRow row in vdt.Rows)
{
for (int i = 0; i < columnCount; i++)
{
g.DrawRectangle(pen, x, y, width, height);
SizeF size = g.MeasureString(row[i].ToString(), font);
float xPadding = (width - size.Width) / 2;
g.DrawString(row[i].ToString(), font, brush, x + xPadding, y + 5);
x += width;
}
x = 0;
y += 30;
}
}
private void btnprint_Click(object sender, EventArgs e)
{
PrintDocument document = new PrintDocument();
document.PrintPage += new PrintPageEventHandler(document_PrintPage);
PrintPreviewDialog ppDialog = new PrintPreviewDialog();
ppDialog.Document = document;
ppDialog.Show();
}
void document_PrintPage(object sender, PrintPageEventArgs e)
{
PrintDocument document = (PrintDocument)sender;
Graphics g = e.Graphics;
Brush brush = new SolidBrush(Color.Black);
Pen pen = new Pen(brush);
Font font = new Font("Arial", 10,FontStyle.Bold);
Font fonte = new Font("Arial", 15, FontStyle.Bold);
int x = 0, y = 0, width = 200, height = 30;
SizeF sizeeee = g.MeasureString("TIME :: ", fonte);
float xPaddingeee = (width - sizeeee.Width) / 2;
g.DrawString("TIME :: ", fonte, brush, x + xPaddingeee, y + 5);
x += width;
SizeF sizee = g.MeasureString(DateTime.Now.ToString(), fonte);
float xPaddinge = (width - sizee.Width) / 2;
g.DrawString(DateTime.Now.ToString(), fonte, brush, x + xPaddinge, y + 5);
x += width;
for (int kk = 0; kk < 2; kk++)
{
SizeF sizeee = g.MeasureString("", font);
float xPaddingee = (width - sizee.Width) / 2;
g.DrawString("", font, brush, x + xPaddingee, y + 5);
x += width;
}
x = 0;
y += 60;
foreach (DataColumn column in vdt.Columns)
{
g.DrawRectangle(pen, x, y, width, height);
SizeF size = g.MeasureString(column.ColumnName, fonte);
float xPadding = (width - size.Width) / 2;
g.DrawString(column.ColumnName, fonte, brush, x + xPadding, y + 5);
x += width;
}
x = 0;
y += 30;
int columnCount = vdt.Columns.Count;
foreach (DataRow row in vdt.Rows)
{
for (int i = 0; i < columnCount; i++)
{
g.DrawRectangle(pen, x, y, width, height);
SizeF size = g.MeasureString(row[i].ToString(), font);
float xPadding = (width - size.Width) / 2;
g.DrawString(row[i].ToString(), font, brush, x + xPadding, y + 5);
x += width;
}
x = 0;
y += 30;
}
}
Thanks,
ReplyDeletevery nice & simple code