是更好的辦法在Paint事件中使用新的刷機即什麼是更好的方法來處理刷在用戶控制
protected override void OnPaint(PaintEventArgs e) {
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
using (SolidBrush b = new SolidBrush(Color.FromArgb(129, 242, 121))) {
for (int i = 0; i < 12; i++) {
e.Graphics.FillPath(b, path[i]);
}
}
base.OnPaint(e);
}
或在頂部定義一次,並在處置處理方法即
SolidBrush _brush;
protected SolidBrush Brush {
get {
if (_brush == null)
_brush = new SolidBrush(Color.FromArgb(129, 242, 121));
return _brush;
}
}
每次調用OnPaint時都看不到任何理由創建新實例,所以第二種方法更好。 –
使用第二種方法並凍結筆刷,因爲您不打算更改它。 –