[转] C# 绘制报表,使用Graphics.DrawString 方法
在指定位置并且用指定的 Brush 和Font 对象绘制指定的文本字符串。
public void DrawString(
string s,
Font font,
Brush brush,
float x,
float y
)
MSDN上的实例:
public void DrawStringFloat(PaintEventArgs e) { // Create string to draw . String drawString = "Sample Text"; // Create font and brush. Font drawFont = new Font("Arial", 16); SolidBrush drawBrush = new SolidBrush(Color.Black);// Create point for upper-left corner of drawing. float x = 150.0F; float y = 150.0F;// Draw string to screen. e.Graphics.DrawString(drawString, drawFont, drawBrush, x, y); }
应用的实例:
private void Myprintpage1(Graphics formGraphics, int w, int h) { Pen myPen = new Pen(Color.FromArgb(255, Color.Black), 1.0F); Font MyFont1 = new Font("宋体", 12, FontStyle.Bold); Font MyFont2 = new Font("宋体", 10, FontStyle.Bold); formGraphics.TranslateTransform(100.0F, 50.0F); //画表格横线 //画表格竖线 for (int i = 200; i < 360; i += 50) { formGraphics.DrawLine(myPen, new Point(0, i), new Point(600, i)); formGraphics.DrawLine(myPen,) } for (int i = 0; i < 750; i += 150) { formGraphics.DrawLine(myPen, new Point(i, 200), new Point(i, 350)); } //画表格斜线 formGraphics.DrawLine(myPen, new Point(0, 200), new Point(150, 250)); //formGraphics.DrawLine(myPen, new Point(150, 125), new Point(300, 125)); //formGraphics.DrawLine(myPen, new Point(150, 175), new Point(300, 175)); //写字 formGraphics.DrawString(" ---数据报表---", new Font("宋体", 20, FontStyle.Bold), Brushes.DimGray, 100, -10); formGraphics.DrawString("试验日期(Date) :_______________", MyFont1, Brushes.DimGray, 0, 50); formGraphics.DrawString("操作人员(Operator):_______________", MyFont1, Brushes.DimGray, 0, 75); formGraphics.DrawString("试件类型(Parts Type):_______________", MyFont1, Brushes.DimGray, 330, 50); formGraphics.DrawString("试件编号(Parts No):_______________", MyFont1, Brushes.DimGray, 330, 75); formGraphics.DrawString("上号(UP):_______________", MyFont1, Brushes.DimGray, 0, 100); formGraphics.DrawString("下号(DOWN):_______________", MyFont1, Brushes.DimGray, 330, 100); formGraphics.DrawString("电压", MyFont1, Brushes.DimGray, 190, 220); //formGraphics.DrawString(" (Forward Speed)", MyFont2, Brushes.DimGray, 300, 110); formGraphics.DrawString("电流", MyFont1, Brushes.DimGray, 340, 220); // formGraphics.DrawString(" (Backward Speed)", MyFont2, Brushes.DimGray, 455, 110); formGraphics.DrawString("备用", MyFont1, Brushes.DimGray, 490, 220); formGraphics.DrawString("试验数据(Date)", MyFont1, Brushes.DimGray, 0, 270); formGraphics.DrawString("数据单位(Unit)", MyFont1, Brushes.DimGray, 0, 320); formGraphics.DrawString("操作人员(Operator):_______________ 检验者(Checker):_______________", MyFont1, Brushes.DimGray, 0, 970); formGraphics.DrawString(DateTime.Now.ToString("yyyy/MM/dd"), MyFont1, Brushes.DimGray, 180, 50); formGraphics.DrawString(global.temstr[0], MyFont1, Brushes.DimGray, 180, 75); formGraphics.DrawString(global.temstr[2], MyFont1, Brushes.DimGray, 510, 50); formGraphics.DrawString(global.temstr[1], MyFont1, Brushes.DimGray, 510, 75); formGraphics.DrawString(global.temstr[3], MyFont1, Brushes.DimGray, 180, 100); formGraphics.DrawString(global.temstr[4], MyFont1, Brushes.DimGray, 500, 100); formGraphics.DrawString(" ", MyFont1, Brushes.DimGray, 190, 270);// formGraphics.DrawString(" ", MyFont1, Brushes.DimGray, 340, 270);// formGraphics.DrawString(" ", MyFont1, Brushes.DimGray, 490, 270); formGraphics.DrawString("V", MyFont1, Brushes.DimGray, 190, 320); formGraphics.DrawString("A", MyFont1, Brushes.DimGray, 340, 320); formGraphics.DrawString(" ", MyFont1, Brushes.DimGray, 490, 320); }
你们的评论、反馈,及对你们有所用,是我整理材料和博文写作的最大的鼓励和唯一动力。欢迎讨论和关注!
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。