0

WinFormsアプリで作業しており、MouseDownイベントとMouseUpイベントの場所を記録する必要があります。私の問題は、イベントが異なるコントロールで発生するため、それらの座標系が一致しないことです(必要なのはドラッグの量だけです)。送信コントロールの場所に追加しようとしましたが、それでも正しく機能しません。

これに対する簡単な解決策はありますか?

4

1 に答える 1

4

そのためにPointToScreenメソッドを使用できます。マウス ハンドラー コードは次のようになります。

private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{   
    Control control = (Control) sender;
    Point pointOnScreen = control.PointToScreen(new Point(e.X, e.Y));

    ...
}
于 2009-06-29T15:59:59.520 に答える