换方法解决了
c#一句代码:ControlPaint.DrawReversibleFrame(new Rectangle(100, 100, 300, 300), Color.Transparent, FrameStyle.Thick);
c#调API:
int deskHwnd=(int)GetDesktopWindow();
            int zero = GetWindowDC(deskHwnd);
            int oldRop2 = SetROP2(zero, 10);
            int newPen = CreatePen(0, 3, 0);
            int oldPen = SelectObject(zero, newPen);
            Rectangle(zero, rect.Left, rect.Top, rect.Right, rect.Bottom);
            Thread.Sleep(400);
            Rectangle(zero, rect.Left, rect.Top, rect.Right, rect.Bottom);
            SetROP2(zero, oldRop2);
            SelectObject(zero, oldPen);
            DeleteObject(newPen);
            ReleaseDC(deskHwnd, zero);