0

私は新しいC#開発者であり、winformアプリケーションに配置したイメージにホットスポットを作成したいと考えています。ここに掲載されている解決策に従いました、このメソッドを機能させるために座標をどこに配置すればよいかわかりませんでした。

protected override void OnMouseMove(MouseEventArgs mouseEvent) 
{ 
     string X = mouseEvent.X.ToString();
     string Y = mouseEvent.Y.ToString(); 
}

座標はどこに置けばいいですか?私は2つの座標(X、Y)を持っています:110、45

4

1 に答える 1

2

ホットスポットは単なる座標ではなく、小さな長方形の領域であるべきだと思います。幅 20 の小さな正方形の領域にしたい場合は、次のように記述します。

編集:

フォームに PictureBox1 という名前の PictureBox があり、ピクチャ ボックスの左上隅から始まる 20x20 サイズの小さな長方形をホットスポットにしたいとします (つまり、マウスをその上に置くと、ハンド カーソルが表示されます)。 PictureBox の MouSeMove イベントは次のように記述します。

 private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
    {
        if (e.X > 0 && e.X < 20 && e.Y > 0 && e.Y < 20)
            this.Cursor = Cursors.Hand;
        else
            this.Cursor = Cursors.Default;
    }

ハンド カーソルは、実際には Web のようなホットスポットにするために、まだクリックを処理していないホットスポットを示しているだけであることを覚えておいてください。Click で何かを実行したい場合は、MouseUp イベントを使用してみてください。MouseUp イベントで、上記と同じ IF 句を使用すると、ユーザーがホットスポット領域をクリックしたという条件が得られます。

于 2012-07-04T10:27:15.723 に答える