【发布时间】:2009-10-25 14:27:46
【问题描述】:
这是什么原因?
我覆盖 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
-
@Sheng,仅此而已。我刚刚添加了 UserPaint,仅此而已。
标签: c# .net winforms listview gdi+