باید با Region کار کنی:
public void FillRegionRectangle(PaintEventArgs e)
{
// Create solid brush.
SolidBrush blueBrush = new SolidBrush(Color.Blue);
// Create rectangle for region.
Rectangle fillRect = new Rectangle(100, 100, 200, 200);
// Create region for fill.
Region fillRegion = new Region(fillRect);
// Fill region to screen.
e.Graphics.FillRegion(blueBrush, fillRegion);
}
این یه مستطیل بود اما کلاس Region هر شکلی رو قبول می کنه. برای اشکال پیچیده تر باید با RegionData مختصات همه نقاط شکل رو به کلاس Region بدی.