|
mText = mText + "赵大" + ControlChars.Tab + "100" + ControlChars.Tab + "80" + ControlChars.Tab + "91" + Chr(10) Dim mBrush As New SolidBrush(Color.Red) Dim mFont As New Font("宋体", 12) ''创建字符格式化对象 Dim mStringFormat As New StringFormat ''创建矩形 Dim Rect As New Rectangle(0, 0, 250, 120) ''设置StringFormat对象的制表位 Dim Tabs() As Single = {70, 70, 70} mStringFormat.SetTabStops(0, Tabs) ''绘制文本 g.DrawString(mText, mFont, mBrush, RectangleF.op_Implicit(Rect), mStringFormat) ''绘制矩形 Dim mPen As New Pen(Color.Black) g.DrawRectangle(mPen, Rect) End Sub http://www.qqread.com/book/myvbnet/my0047.html 运行后如下图三所示:
在SetTabStops 方法中,第一个参数表明数组中的第一个偏移量从0(边框的左边)开始测量,第二个参数是表示包含制表位偏移量的数组。 四、绘制垂直文本 我们是通过把DirectionVertical 赋值给 StringFormat 对象的FormatFlags 属性来实现垂直文本的绘制。 如下代码: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim g As Graphics = PictureBox1.CreateGraphics Dim mText As String = "欢迎你访问巧巧读书网论坛" Dim mBrush As New SolidBrush(Color.Red) Dim mFont As New Font("宋体", 12) ''创建字符格式化对象 Dim mStringFormat As New StringFormat ''创建矩形 Dim Rect As New Rectangle(0, 0, 250, 120) ''设置StringFormat对象 mStringFormat.FormatFlags = StringFormatFlags.DirectionVertical ''绘制文本 |