回 帖 发 新 帖 刷新版面

主题:自定义组件重画时出现怪问题?

public class SheetControl : ScrollableControl
{
  protected override void OnPaint(PaintEventArgs e)
        { 
            DrawCells(e.Graphics); //画单元格
Brush bru = new SolidBrush(Color.Black);
            StringFormat stf = new StringFormat();
            stf.Alignment = StringAlignment.Center;
            stf.LineAlignment = StringAlignment.Center;
            e.Graphics.DrawString("序号", this.Font, bru, new RectangleF(1, 1, FTitleWidth, FTitleHeight), stf);
            stf.Dispose();
            bru.Dispose();
            base.OnPaint(e);
           }
}
问题:
我在改变AutoScrollPosition的值时会调用OnPaint;
这时画不出标题来.
如果我把窗最小化后再最大化窗体,这时画出来的是正确的!
说明坐标没有问题。我也多次测试过坐标值应该是没有问题。

回复列表 (共1个回复)

沙发

你是如何调用OnPaint的?

我来回复

您尚未登录,请登录后再回复。点此登录或注册