2010-02-12 47 views
1

我想開發一個自定義控件,需要繪製一些矩形。現在,需要移動1個矩形,所以我使用了覆蓋的mousemove方法來獲取新位置並更改矩形的位置部分,然後使用Invalidate()命令。但問題是,整個控制是繪製而不是矩形。這是失望。如果有人能指出我做錯了什麼,那將是一個很大的幫助。謝謝。Invalidate()命令不重繪控件

+1

哪個操作系統/語言/ GUI API /框架?並給一些代碼! – 2010-02-12 07:42:21

+1

如果您指出您正在使用哪種語言/庫,它將會有所幫助。 – Amber 2010-02-12 07:42:27

+0

我正在使用.NET框架2.0 – Mohit 2010-02-12 12:32:51

回答

1

可以使用Invallidate()重載使用部分無效。將一個矩形作爲參數傳遞給Invalidate(),或者您可以傳遞4個數字來完成它。

Invalidate(new Rectangle(left, top, width, height)); 

當然,你必須無效矩形的舊地方和新的地方。

+0

好吧,讓我試試看。 – Mohit 2010-02-12 12:33:11