/// 実習G3 座標計算 | プログラミング実習 |
プロジェクト名 実習G3マス目番号の計算
動作説明
クリックしたマス目(40×20)の番号を表示する。
デザイン
フォーム Form1
Size = 316,297 (枠内300×260)
BackgroundImage = BackImage2.gif
ラベル lblMasu
Text = マス目番号
コード(プログラム)
Public Class Form1 ↓メソッドに注意(マウスのクリックで動作するメソッド)
Private Sub Form1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseClick
Dim xx, yy, num As Integer
xx = Int((e.X - 15) / 40) ←※1 左から何列目か計算
yy = Int((e.Y - 20) / 20) ←※2 上から何行目か計算
If xx < 0 Or xx > @ Or yy < 0 Or yy > A Then
lblMasu.Text = "マス目番号=範囲外です"
Else
num = B * 7 + C
lblMasu.Text = "マス目番号= " & num.ToString
End If
End Sub
End Class
キーワード
MouseClick … マウスのボタンをクリックしたときに発生するイベント。
e.X と e.Y … マウスをクリックした座標を取得するプロパティ。
解説
実習G2と逆の計算で座標からマス目番号を求める。
※1 x座標(e.X)から余白(15)を減算し、マス目の横幅(40)で割った商が列数を表す。
※2 y座標(e.Y)から余白(20)を減算し、マス目の高さ(20)で割った商が行数を表す。
テスト
□ フォームをクリックするとクリックしたマス目の番号が表示される。
□ マス目以外の場所をクリックすると「範囲外です」と表示される。
/// 実習G3 座標計算 | Copyright©2014 Hiroshi Masuda |