我有一個窗體,其中包含一個用戶控件。此用戶控件具有以下代碼:OnPaint不更新
protected override void OnPaint(PaintEventArgs pe)
{
base.OnPaint(pe);
pe.Graphics.DrawRectangle(
new Pen(Color.Red, 5 + laenge),
new Rectangle(
new Point(50 + leerzeichen, hoehe),
new Size(laenge + 20, 20)));
}
和一些更多的代碼,現在可能並不重要。所以當我啓動程序時,它會繪製紅色矩形。在程序開始時,所有變量(langege,leerzeichen,hoehe)都設置爲0。現在,當我按下按鈕時,變量正在改變,但OnPaint不繪製新的矩形?可能是什麼問題呢?我必須以某種方式致電OnPaint嗎?
是否有可能在同一座標上繪製多個矩形? – daryal
嘗試通過調用Invalidate()方法使控件失效。這將激發繪畫例程。 –
請注意您在OnPaint方法中創建的鋼筆漏水!完成後你需要處理它們。 –