- ベストアンサー
VBで路線図(画像)の駅名をクリックすると駅名が自動入力されるようにしたい
お世話になります。 VBで運賃を計算するソフトを作成しています。 そこで質問があるのですが、鉄道路線図(画像ファイル)があります。 その画像をPictureBoxに貼り付け、画像内にある駅名をクリックすると、テキストボックスにその駅名を入れるようにしたいのですがどうすれば実現できますか?? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
MouseDown, MouseUp, MouseClick等のイベント引数でマウスの座標が分かります。 Private Sub PictureBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseClick e.Location.X ' X座標 e.Location.Y ' Y座標 End Sub # VB.NETだとMouseClickイベントは無いのかな?その場合はMouseDownかMouseUpで 投稿ついでに。 画像内のクリック判定領域の定義はRectangleを使うと便利です。Rectangle.Containsメソッドでアタリ判定が楽にできます。 Dim rectA As New Drawing.Rectangle(10, 10, 20, 20) Private Sub PictureBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseClick If rectA.Contains(e.Location) Then Console.WriteLine("矩形内") Else Console.WriteLine("矩形外") End If End Sub
その他の回答 (1)
- うぃず(@Wizard_Zero)
- ベストアンサー率69% (344/495)
1. 「駅名と駅名が書かれている座標情報」の対応表を配列で作る 2. MouseDownまたはMouseUpイベント時に、対応表からマウス座標を含んでいるデータを探す 3. 一致したデータがあれば駅名特定 4. どれも一致しなければクリックした場所に駅名はない VB6か.NETか分からないのでコードは書きません。
補足
ありがとうございます! やろうとしていることはわかるのですが・・・ クリックした座標を取得するにはどのようにコードを書けばいいのでしょうか? ちなみにVB.netです。よろしくお願いします。