在C#中,使用Graphics.DrawString()
方法可以繪制字符串。要實現多行文本,您需要將字符串拆分為多行,然后逐行繪制。以下是一個簡單的示例:
using System;
using System.Drawing;
using System.Windows.Forms;
public class MultiLineDrawString : Form
{
private string[] lines = {
"這是第一行文本。",
"這是第二行文本。",
"這是第三行文本。"
};
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
// 設置字體和顏色
Font font = new Font("Arial", 12);
SolidBrush brush = new SolidBrush(Color.Black);
// 計算每行的寬度和高度
int lineHeight = font.GetHeight();
Size lineSize;
// 繪制每一行文本
foreach (string line in lines)
{
lineSize = e.Graphics.MeasureString(line, font).ToSize();
e.Graphics.DrawString(line, font, brush, 10, 10 + (lineHeight - lineSize.Height) / 2);
}
}
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MultiLineDrawString());
}
}
在這個示例中,我們創建了一個名為MultiLineDrawString
的窗體類,它包含一個字符串數組lines
,用于存儲多行文本。在OnPaint
方法中,我們設置了字體和顏色,然后遍歷lines
數組,使用e.Graphics.MeasureString()
方法計算每行的寬度和高度,并使用e.Graphics.DrawString()
方法繪制每一行文本。注意,我們在繪制每行文本時,為其指定了一個不同的y坐標,以便它們在同一窗口中垂直排列。