c#多线程CopyFromScreen 参数无效

问题遇到的现象和发生背景

WINDOWS10操作系统下运行的C# .Net项目

问题相关代码,请勿粘贴截图

连续两次使用new task进行多线程调用,也就是创建了两个new task并执行,每个线程中都有CopyFromScreen方法,在调用CopyFromScreen前,考虑到内存访问的问题,我进行了lock

运行结果及报错内容

但奇怪的是任然有异常,提示CopyFromScreen 参数无效,导致的结果就是Bitmap不对
哦,对了,Bitmap我也用dispose进行释放了

我的解答思路和尝试过的方法

我看网上有人说加上GC.Collect,我也尝试了,但没有效果

我想要达到的结果

请问该如何解决这个问题?

你lock的范围有问题

很明显,你的代码写错了
在 保存(转移) Bitmap 之前 就注销了 Graphics