0

私はC#でGMapを扱っています。地図をクリックすると、クリックした場所から画面上の場所を取得したいと思います。myMap というマップ コントローラーがあります。マップをクリックすると、myMap_Click(object sender, MouseEventArgs e) というイベントがトリガーされます。オブジェクト (私の場合はカスタム フォーム) を場所 eX、eY に配置すると、画面をクリックした場所に配置されません。

私の目標は、マップをクリックしたフォームを表示することです。地図をパンしたりズームしたりしても、座標に従うかどうかは気にしません。今のところ、クリックした位置にカスタムフォームが必要です。

マップ コントロールをクリックしたときに画面の位置を取得するにはどうすればよいですか?

よろしく!

4

2 に答える 2

1

それは実際には非常に簡単です!

private void myMap_Click(object sender, MouseEventArgs e)
{
    using (Form customForm = new Form())
    {
        customForm.StartPosition = FormStartPosition.Manual;
        customForm.DesktopLocation = MainMap.PointToScreen(e.Location);
        customForm.ShowDialog();
    }
}        

明らかに、「Form customForm」パーツを同等のものに置き換えます。

于 2014-01-24T14:19:12.260 に答える