如何在C#中判断光标是否位于矩形范围内
问题解决:光标位置与矩形边界的判断错误修正
你的核心问题出在代码里的Screen.GetBounds调用上——这个方法的作用是获取指定区域所在屏幕的完整边界,而非你定义的小矩形本身。所以不管点击屏幕哪个位置,判断都会返回true。
修正后的代码
private void Log_MouseDown(object sender, MouseEventArgs e) { Rectangle targetRect = new Rectangle(500, 80, 50, 50); if (targetRect.Contains(e.Location)) { Console.WriteLine("Hi"); } }
关于nearest函数的说明
你看到的nearest函数并非用于判断点是否在矩形内,它的作用是计算矩形上离外部点最近的坐标,多用于距离计算、鼠标吸附这类场景。判断点是否在矩形范围内,直接使用Rectangle类自带的Contains方法就足够,不需要额外复杂逻辑。
内容的提问来源于stack exchange,提问作者HHopter
相关产品推荐
相关产品推荐

