C# でペイント イベントをオーバーライドする方法に関する基本的なチュートリアルを提供できる人はいますか? 私はC#の経験があまりありません.C#でオーバーライドするという概念を理解していないため、いくつかのチュートリアルやトリックに従うことができないため、これは簡単に得られない部分です。
質問する
14029 次
3 に答える
2
これは非常に基本的な例で、赤い 'X' を描画します (すべきです!):
public class FacadeControl : Control
{
private Pen invalidPen;
public FacadeControl()
{
invalidPen = new Pen(Color.Red, 2);
SetStyle(ControlStyles.ResizeRedraw, true); // make sure the control is redrawn every time it is resized
}
protected override void OnPaint(PaintEventArgs pe)
{
// get the graphics object to use to draw
Graphics g = pe.Graphics;
g.DrawLine(invalidPen, 0, 0, Width, Height);
g.DrawLine(invalidPen, 0, Height, Width, 0);
}
}
}
于 2012-10-10T10:41:51.693 に答える
1
例えば :
public class FirstControl : Control{
public FirstControl() {}
protected override void OnPaint(PaintEventArgs e) {
base.OnPaint(e);
e.Graphics.DrawString(Text, Font, new SolidBrush(ForeColor), ClientRectangle);
}
}
自分のペイントハンドラーを書く前に、ベースペイントハンドラーを呼び出すことを忘れないでください
于 2013-02-17T23:27:49.767 に答える