在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
屬性啟用邊框繪制。最后,我們設置了邊框的寬度和顏色。