12-02-2008, 12:51
|
|
|
חבר מתאריך: 18.11.07
הודעות: 41
|
|
בפונקציה של printDocument1_PrintPage יש אופציה ל e.Graphics שניתן להכניס לו string format
ל string format יש פרופרטי של Alignment.
בדוגמה הבאה הפורמט מופיע ללא בחירה כלשהי, לכן ברירת המחדל היא בשמאל: (שים לב שיש כמה פעמים בפונקציה)
private void btnPrint_Click(object sender, EventArgs e) {
System.IO.StreamWriterfile = newSystem.IO.StreamWriter("text.txt");
file.WriteLine("aaa");
file.Close();
printDocument1.Print();
}
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
System.IO.StreamReader fileToPrint = new System.IO.StreamReader("text.txt");
System.Drawing.Font printFont = new Font("Tahoma", 12);
float yPos = 0f;
int count = 0;
float leftMargin = e.MarginBounds.Left;
float topMargin = e.MarginBounds.Top;
string line = null;
float linesPerPage = e.MarginBounds.Height / printFont.GetHeight(e.Graphics);
while (count < linesPerPage)
{
line = fileToPrint.ReadLine();
if (line == null)
{
break;
}
yPos = topMargin + count * printFont.GetHeight(e.Graphics);
e.Graphics.DrawString(line, printFont, Brushes.Black, leftMargin, yPos, new StringFormat());
count++;
}
if (line != null)
{
e.HasMorePages = true;
}
yPos = topMargin + count * printFont.GetHeight(e.Graphics);
e.Graphics.DrawString(line, printFont, Brushes.Black, leftMargin, yPos, new StringFormat());
}
נערך לאחרונה ע"י M R בתאריך 12-02-2008 בשעה 12:56.
|