C# .NET WinForms新窗体光标异常问题求助
结合你描述的场景(未手动修改光标、使用Label/PictureBox、自定义绘制大图片),这些是最容易触发该问题的已知原因:
PictureBox的图片或尺寸设置问题:如果你的PictureBox加载的图片本身包含自定义光标数据(比如ICO、CUR格式的文件),或者SizeMode设置为
StretchImage/Zoom且图片与控件尺寸不匹配时,系统可能误判光标状态,显示出奇怪的默认光标变体(比如类似“调整大小”或“不可用”的符号)。GDI+绘图资源未正确释放:使用
System.Drawing绘制大图片时,若没有及时释放Graphics、Pen、Brush等GDI+资源(比如在Paint事件中未调用g.Dispose(),或未用using语句包裹资源),残留的资源可能干扰控件的默认光标逻辑,导致光标显示异常。Label控件的隐性区域冲突:如果Label的
AutoSize设为false,且它的区域与PictureBox或绘图区域重叠,即便Label是透明背景或无文本,鼠标悬停在重叠区域时实际是触发了Label的光标逻辑,而这种隐性的重叠很容易被忽略,导致光标显示不符合预期。控件Cursor属性被意外修改:检查新Form及所有子控件的
Cursor属性是否为Default——有时候在设计器中不小心修改了某个控件的Cursor设置,或者父容器的Cursor属性被继承到了新Form上,都会导致光标异常。大图片重绘频率过高引发的异常:如果大图片的绘制是频繁触发的(比如通过Timer循环调用,或窗口频繁刷新),系统在处理光标更新时可能出现延迟或错误,进而显示出奇怪的光标符号。
内容的提问来源于stack exchange,提问作者Phillip Becker

