您的位置:首页 > 编程语言 > C#

C#高级编程:绘制文本

2009-09-28 17:22 375 查看
这个示例DisplayText是常见的Windows Forms。这次重写了OnPaint(),添加了成员字段,如下所示:

private System.ComponentModel.Container components = null;

private Brush blackBrush = Brushes.Black;

private Brush blueBrush = Brushes.Blue;

private Font haettenschweilerFont = new Font("Haettenschweiler", 12);

private Font boldTimesFont = new Font("Times New Roman", 10, FontStyle.Bold);

private Font italicCourierFont = new Font("Courier", 11, FontStyle.Italic |

FontStyle.Underline);

protected override void OnPaint(PaintEventArgs e)

{

base.OnPaint(e);

Graphics dc = e.Graphics;

dc.DrawString("This is a groovy string", haettenschweilerFont, blackBrush,

10, 10);

dc.DrawString("This is a groovy string " +

"with some very long text that will never fit in the box",

boldTimesFont, blueBrush,

new Rectangle(new Point(10, 40), new Size(100, 40)));

dc.DrawString("This is a groovy string", italicCourierFont, blackBrush,

new Point(10, 100));

}

运行这个示例,会得到如图20-15所示的结果。
这个示例说明了如何使用Graphics.DrawString()方法绘制文本,DrawString()有许多重载方法,这里介绍其中的3个。但这些重载方法都需要用参数指定要显示的文本、字符串所使用的字体,以及用于构造各种直线和曲线以组成每个文本字符的画笔。其余的参数有另外两种指定方式。但一般情况下,可以指定一个Point(或两个数字)或一个Rectangle。



图 20-15
如果指定Point,文本就从该Point的左上角开始,并向右延伸。如果指定Rectangle,则Graphics实例就把字符串放在矩形的内部。如果文本在矩形内部容纳不下,就会被剪切,如图20-15中的第四行文本所示。把矩形传送给DrawString(),表示绘图过程将持续较长时间,因为DrawString()需要指定在什么地
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: