0
我有一个显示音频文件波形的自定义用户控件。我在窗体上放置了两个控件实例。第二种情况按预期工作,而第一种情况导致所述问题。只有当窗口移动时,用户控制重绘
我正在做的是绘制垂直(红色)线,表示当前位置。这个问题最好在youtube video。
这是我的定制控制器的代码(的OnPaint() - 注意,我失效只受红色垂直线的区域):
protected override void OnPaint(PaintEventArgs e)
{
[...]
Invalidate(new Rectangle(x_pos-5, 0, x_pos, this.Height));
using (Pen linePen = new Pen(Color.Red, 1.5f))
{
e.Graphics.DrawLine(linePen, x_pos, 0, x_pos, this.Height);
Invalidate(new Rectangle(x_pos-2,0,x_pos+2,this.Height));
}
base.OnPaint(e);
}
问:既然OnPaint方法是等效对于两个控件,为什么我需要移动窗口来重新绘制第一个控件(波形)?
问题是...? – Nolonar 2013-03-06 12:51:31
winform或WPF? – David 2013-03-06 12:51:48
Winforms。忘了提及它。还更新了这篇文章 - 问题在最后。 – 2013-03-06 12:53:02