这是什么原因?在列表视图上绘制会禁用在列表视图项上重绘
我重写OnPaintBackground并绘制一个字符串。它不会显示,直到我在构造函数中调用它:
this.SetStyle (ControlStyles.UserPaint, true);
但后来我没有看到列表视图中的项目。
为什么以及如何解决这个问题?
编辑:代码
protected override void OnPaintBackground (PaintEventArgs pevent)
{
base.OnPaintBackground (pevent);
// Create string to draw.
String drawString = "76";
// Create font and brush.
Font drawFont = new Font ("Arial", 36);
SolidBrush drawBrush = new SolidBrush (Color.Blue);
// Create point for upper-left corner of drawing.
PointF drawPoint = new PointF (150.0F, 150.0F);
// Draw string to screen.
pevent.Graphics.DrawString (drawString, drawFont, drawBrush, drawPoint);
//pevent.Graphics.FillRectangle (drawBrush, this.ClientRectangle);
}`enter code here`
你打电话base.OnPaintBackground()?你可以发布你的覆盖代码吗? –
以下属性和样式的值是什么? - ControlStyles.DoubleBuffer - ControlStyles.AllPaintingInWmPaint - ListView.OwnerDraw –
@Chris,添加了代码。 –