using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
public class Form1 : Form {
protected override void OnPaint(PaintEventArgs e) {
Graphics g = e.Graphics;
g.FillRectangle(Brushes.White, this.ClientRectangle);
SizeF sizeF = g.MeasureString("Test", this.Font);
StringFormat sf = new StringFormat();
sf.LineAlignment = StringAlignment.Center;
int cellHeight = (int)sizeF.Height + 4;
int cellWidth = 80;
int nbrColumns = 50;
int nbrRows = 50;
for (int row = 0; row < nbrRows; ++row)
{
for (int col = 0; col < nbrColumns; ++col)
{
Point cellLocation = new Point(col * cellWidth, row * cellHeight);
Rectangle cellRect = new Rectangle(cellLocation.X, cellLocation.Y, cellWidth, cellHeight);
if (cellRect.IntersectsWith(e.ClipRectangle)){
Console.WriteLine("Row:{0} Col:{1}", row, col);
g.FillRectangle(Brushes.LightGray, cellRect);
g.DrawRectangle(Pens.Black, cellRect);
String s = String.Format("{0},{1}", col, row);
g.DrawString(s, this.Font, Brushes.Black, cellRect, sf);
}
}
}
}
public static void Main() {
Application.Run(new Form1());
}
}