これでウィンドウをドラッグしようとすると、ウィンドウがジャンプしてちらつきます。
protected override void WndProc(ref Message m)
{
    if (m.Msg == WM_MOVE)
    {
        int x = (m.LParam.ToInt32() & 0xffff);
        int y = ((m.LParam.ToInt32() >> 16) & 0xffff);
        if (x < 500)
            Location = new Point(0, y);
        else
            base.WndProc(ref m);
    }
    else
        base.WndProc(ref m);
}
- ジャンプをやめなければならない
- WM_MOVE、- WM_MOVING、- WM_WINDOWPOSCHANGINGまたはその他の移動イベントは、すべての新しい位置をチェックする必要があるため、ウィンドウをドラッグしている間も発生し続ける必要があります。
- 別の問題はLocation = new Point(0, y);、別の移動イベントを発生させることです (これは無視する必要があります)。
助けてください!