主题:自定义组件重画时出现怪问题?
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;
这时画不出标题来.
如果我把窗最小化后再最大化窗体,这时画出来的是正确的!
说明坐标没有问题。我也多次测试过坐标值应该是没有问题。
{
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;
这时画不出标题来.
如果我把窗最小化后再最大化窗体,这时画出来的是正确的!
说明坐标没有问题。我也多次测试过坐标值应该是没有问题。