PictureBox から継承する MyPictureBox を描画していますが、それをオーバーライドしてOnMouseClick
、引数を に設定します:(MouseEventArgs e)
クリックするとマウスが調整
さMyPictureBox
れますForm
。
どうすればできますか?
ありがとう
PictureBox から継承する MyPictureBox を描画していますが、それをオーバーライドしてOnMouseClick
、引数を に設定します:(MouseEventArgs e)
クリックするとマウスが調整
さMyPictureBox
れますForm
。
どうすればできますか?
ありがとう
まず、渡されたマウス座標を画面にマップします。次に、フォームのクライアント座標にマップし直します。したがって、典型的なコードは次のようになります。
private void pictureBox1_MouseDown(object sender, MouseEventArgs e) {
var pbox = (PictureBox)sender;
var form = this;
var screenPos = pbox.PointToScreen(e.Location);
var formPos = form.PointToClient(screenPos);
// etc..
}
または短いバージョン:
private void pictureBox1_MouseDown(object sender, MouseEventArgs e) {
var formPos = this.PointToClient(pictureBox1.PointToScreen(e.Location));
// etc..
}
最も簡単な方法は、
this.PointToClient(Cursor.Position);
これにより、フォームに対するマウスカーソルの位置が取得されます。