5

誰かがマウスボタンを押したままドラッグするたびに線が引かれる単純なペイントアプリケーションを作成しています(Windowsペイントの場合とまったく同じです)。

ただし、これに適したイベントハンドラーを見つけるのに苦労しています。MouseDownは単に機能せず、MouseClickは、マウスを押し下げるたびにドットを書き留めるだけです。

この問題で助けが必要です。

ありがとう。

4

1 に答える 1

14

MouseDownブール変数を処理してtrueに設定します。を処理MouseMoveし、変数がtrueに設定されていて、マウスの動きが目的のしきい値を超えている場合は、操作します。その変数を処理MouseUpしてfalseに設定します。

例:

bool _mousePressed;
private void OnMouseDown(object sender, MouseEventArgs e)
{
    _mousePressed = true;
}

private void OnMouseMove(object sender, MouseEventArgs e)
{
    if (_mousePressed)
    {
        //Operate
    }
}

private void OnMouseUp(object sender, MouseEventArgs e)
{
    _mousePressed = false;
}
于 2012-12-17T15:57:50.807 に答える