1

ボタンはそれを行います:ユーザーがボタンコントロールの上にマウスの左ボタンを押したままにしてカーソルをコントロールの外に移動すると、ボタンコントロールは外観をデフォルトに戻し、マウスボタンがまだ保持されている場合はカーソルがボタンコントロールに入ると、コントロールは外観を押されたバージョンに変更します。PictureBoxを使用してボタンを模倣しようとしていますが、マウスの左ボタンを離す前にマウスがPictureBoxを離れると、マウスボタンを離すまでPictureBoxの画像は変更されません。

ボタンコントロールが思い通りに見えないので、これをやろうとしています。

ボタンとまったく同じように動作する画像ボックスを使用して、ボタンコントロールを模倣するにはどうすればよいですか?

4

2 に答える 2

1

これは仕様によるもので、コントロールは Capture プロパティを true に設定するため、コントロールの四角形の外にマウスを移動すると、ボタンが押されたままになっている間、マウス メッセージを受信し続けます。

動いているのが見えたら、オフにすることができます。

    private void pictureBox1_MouseMove(object sender, MouseEventArgs e) {
        var box = (PictureBox)sender;
        if (!box.DisplayRectangle.Contains(e.Location)) box.Capture = false;
    }
于 2012-07-16T17:34:46.790 に答える
0

MouseLeaveイベントではなく、DragLeaveイベントを使用してみてください。

于 2012-07-16T17:24:26.840 に答える