1

いくつかの長方形を描画する必要があるカスタム コントロールを開発しようとしています。ここで、1 つの四角形を移動する必要があるため、オーバーライドされた mousemove メソッドを使用して新しい位置を取得し、その四角形の位置部分を変更してから、Invalidate() コマンドを使用しました。しかし、問題は、その四角形ではなくコントロール全体が描画されることです。消えつつあります。誰かが私が間違っているところを指摘できれば、それは大きな助けになるでしょう。ありがとう。

4

1 に答える 1

1

Invallidate() オーバーロードを使用して、部分的な無効化を使用できます。Invalidate() のパラメーターとして四角形を渡すか、4 つの数値を渡してそれを行うことができます。

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

もちろん、長方形の古い場所と新しい場所を無効にする必要があります。

于 2010-02-12T07:53:43.693 に答える