You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 18:45:41