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