0

WindowsForms アプリケーションを作成しています。このアプリケーションでは、ポリゴンの頂点 (ノード) の座標を持つ配列を使用して、ポリゴンを描画する必要があります。

ユーザーがポリゴンのノードの1つをクリックすると、どのノードが選択されているかを検出して、ユーザーにこのノードを削除するよう提案する必要があります。

ポリゴンを描画するために、WindowsForms、PictureBox、Graphics.DrawPolygon を使用しています。

ユーザーがいずれかのノードをクリックしたかどうかを検出するにはどうすればよいですか? WindowsForm や PictureBox よりも多角形を描画するのに適した方法はありますか?

前もって感謝します。

4

2 に答える 2

0

参照してください: Windows フォーム アプリケーション (.net) で画像をクリックしたときの X/Y 座標

座標を取得してから、ポリゴンに対してヒット テストを行う必要があります。

于 2013-04-04T20:46:37.907 に答える
0

ノードポイントを実行し、ユーザーがクリックした場所にあるかどうかをテストして、ピクチャボックスがクリックされたときを確認する必要があります。

Point[] listOfNodes = new Point[1];
private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
{
    foreach (Point item in listOfNodes)
    {
        if (item == e.Location)
        {
            //The node was clicked.
        }
    }
}
于 2013-04-04T21:36:17.127 に答える