using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.IO;
using System.Drawing.Printing;
namespace CapsEditor
{
public partial class Form1 : Form
{
private const uint margin = 20;
#region 成员变量
private ArrayList documentLines = new ArrayList();
private uint lineHeight;
private Size documnetSize;
private uint nLines;
private Font mainFont;
private Font emptyDocumnetFont;
private Brush mainBrush = Brushes.Blue;
private Brush emptyDocumentBrush = Brushes.Red;
private Point mouseDoubleClickPosiTion;
private OpenFileDialog fileOpenDialog = new OpenFileDialog();
private bool documentHasData = false;
private int pagesPrinted = 0;
#endregion
public Form1()
{
CreateFonts();
InitializeComponent();
}
int linesPerPage = (int)(e.MarginBounds.Height/mainFont.GetHeight(e.Graphics));
int lineNo = this.pagesPrinted*linesPerPage;
//print each line of the file.
int coutn = 0;
while (coutn < linesPerPage && lineNo < this.nLines)
{
line = ((TextLineInfoMation)this.documentLines[lineNo]).Text;
yPos = topMargin + (coutn * mainFont.GetHeight(e.Graphics));
e.Graphics.DrawString(line, mainFont, Brushes.Blue, leftMargin, yPos, new StringFormat());
lineNo++;
coutn++;
}