Witam !
Mam taki problem : chce wydrukować plik tekstowy o rozmiarze kilku stron. Napisałem funkcje drukującą ale w printPreviewDialog zapętla się i wczytuje nieskończona ilosć stron. Oto funkcja drukująca :
private void PrintPage(object sender, PrintPageEventArgs e)
{
Graphics g = e.Graphics;
string actualLine;
int lineWrite = 1;
float lineHeight;
float y = 1;
string zmienna = "";
// float x = e.MarginBounds.Left;
// float y = e.MarginBounds.Top;
Font f = new Font("Courier", 10);
lineHeight = f.GetHeight(g);
int linesPerPage = (int)((e.MarginBounds.Bottom - e.MarginBounds.Top) / lineHeight);
//y = 2 * lineHeight;
czytaj = new StreamReader(openFileDialog1.FileName);
while ((zmienna = czytaj.ReadLine()) != null)
{
// string zmienna = czytaj.ReadToEnd();
g.DrawString(zmienna.ToString(), f, Brushes.Black, new PointF(0, y));
y += lineHeight;
if (lineWrite >= linesPerPage)
{
e.HasMorePages = true;
}
else
e.HasMorePages = false;
}
}
Pracuje w Visual Studio 2010 w c#. Do drukowania wykorzystuje komponenty Windows Form takie jak : PrintPreviewDialog oraz OpenFileDialog. W pierwszej kolejności otwieram plik.txt a następnie przesyłam go do Okna dialogowego drukarki. I tutaj program się zapętla. Proszę o pomoc.