在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坐标,以便它们在同一窗口中垂直排列。