GraphicsPath.IsVisibleメソッド

GraphicsPath.IsVisible メソッド (Point)を見ると、

指定した点がこの GraphicsPath に含まれているかどうかを示します。

と書いてある。

こんな感じで使う。

/// <summary>四角形を描画するためのGraphicsPathオブジェクト</summary>
/// <remarks>PanelコントロールのPaintイベントで図形を描画しておく</remarks>
private GraphicsPath gp1;

/// <summary>MouseClickイベント</summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void panel1_MouseClick(object sender, MouseEventArgs e)
{
    if (this.gp1 == null) return;
    //クリックされた座標がGraphicspath内にあるかを調べる
    if (this.gp1.IsVisible(e.Location))
    {
        MessageBox.Show("そこです");
    }
    else 
    {
        MessageBox.Show("そこではないです");
    }
    this.panel1.Invalidate();//再描画
}