在C#中,要使用DrawString
方法绘制带有边框的文本,您需要使用Graphics
类的DrawString
方法的重载版本,该版本接受一个StringFormat
参数。然后,您可以使用StringFormat
的SetLineFormat
方法来设置边框样式。
以下是一个示例,展示了如何使用DrawString
方法绘制带有边框的文本:
using System; using System.Drawing; using System.Windows.Forms; public class MainForm : Form { protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); // 创建一个字符串格式对象 StringFormat stringFormat = new StringFormat(); // 设置文本对齐方式 stringFormat.Alignment = StringAlignment.Center; stringFormat.LineAlignment = StringAlignment.Center; // 设置边框样式 stringFormat.FormatFlags |= StringFormatFlags.DrawBorder; // 设置边框宽度和颜色 stringFormat.HotKeyPrefix = 'B'; // 使用热键显示边框 stringFormat.Font = new Font("Arial", 14); stringFormat.DrawBorder = true; stringFormat.BorderWidth = 2; stringFormat.BorderColor = Color.Black; // 要绘制的文本 string text = "Hello, World!"; // 获取画布 Graphics graphics = e.Graphics; // 绘制带有边框的文本 graphics.DrawString(text, stringFormat, Brushes.Black, this.ClientRectangle, stringFormat); } [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm()); } }
在这个示例中,我们创建了一个MainForm
类,它继承自Form
类。在OnPaint
方法中,我们使用Graphics
类的DrawString
方法绘制带有边框的文本。我们设置了StringFormat
对象的Alignment
和LineAlignment
属性,以便文本居中对齐。然后,我们使用FormatFlags
属性设置边框样式,并使用DrawBorder
属性启用边框绘制。最后,我们设置了边框的宽度和颜色。