在WinForms中繪制控件屬性的默認值可以通過重寫控件的OnPaint方法來實現。以下是一個示例代碼:
using System.Drawing;
using System.Windows.Forms;
public class MyControl : Control
{
public MyControl()
{
SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
// 繪制控件屬性的默認值
using (SolidBrush brush = new SolidBrush(Color.Black))
{
e.Graphics.DrawString("Default Value 1: " + DefaultValue1.ToString(), Font, brush, new PointF(10, 10));
e.Graphics.DrawString("Default Value 2: " + DefaultValue2.ToString(), Font, brush, new PointF(10, 30));
}
}
// 添加需要展示默認值的屬性
private int _defaultValue1 = 0;
public int DefaultValue1
{
get { return _defaultValue1; }
set { _defaultValue1 = value; Invalidate(); }
}
private string _defaultValue2 = "Default";
public string DefaultValue2
{
get { return _defaultValue2; }
set { _defaultValue2 = value; Invalidate(); }
}
}
在上面的示例中,我們創建了一個自定義控件MyControl,并重寫了OnPaint方法來繪制控件屬性的默認值。我們添加了兩個屬性DefaultValue1和DefaultValue2,并在屬性的setter中調用Invalidate方法來觸發控件的重繪。在OnPaint方法中,我們使用Graphics對象繪制屬性的默認值。您可以根據需要添加更多的屬性和自定義繪制邏輯。