2019/11/24(Sun) 23:15:08 編集(投稿者)
■No93154 (たらこ さん) に返信
> ただ、再描画したい図形としたくない図形がオーバーラップしている場合には
> どうすれば良いですか?
描きたい部分から描きたくない部分を除いてリージョンを作成して
Invalidate(Region, Boolean)
を呼びます。
例)
var region1 = new Region(new Rectangle(0, 0, 100, 100)); // 描きたい領域
var region2 = new Region(new Rectangle(10, 10, 80, 80)); // 描きたくない領域
region1.Exclude(region2); // 描きたい領域から描きたくない領域を除く
pictureBox1.Invalidate(region1, false);
Paint イベントでは e.ClipRectangle に region1 の範囲が入ってくるので
描きたくない領域も含めて描画しますが、除いた部分は画面に反映されません。
リージョンはいろいろな形をとることができますので、調べてみてください。