c#有没有系统函数来判断一个点是否在一个矩形内?

danxuezx 2012-02-06 11:04:27
RT,不想自己写那些判断,是否有现成的函数呢?

c#新手,请多指点~~
...全文
1021 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
HeavensDoor 2012-02-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ohkuy 的回复:]

C# code

//先定义一个点:
Point p = new Point(20, 30);
Rectangle rec = this.control1.Bounds; //再算出矩形大小,每个控件元素都有的属性
if(rec.Contains(p)) //再判断是否在否在矩形内
{
//...
}
[/Quote]

Mark
wangyue4 2012-02-06
  • 打赏
  • 举报
回复
先把矩形分成两个三角形,然后分别判断,只要有一个点在其中一个三角形里就说明也在矩形里。
http://www.cnblogs.com/graphics/archive/2010/08/05/1793393.html
这是判断在三角形里的方法
EnForGrass 2012-02-06
  • 打赏
  • 举报
回复
多思考,多动手
danxuezx 2012-02-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ohkuy 的回复:]

C# code

//先定义一个点:
Point p = new Point(20, 30);
Rectangle rec = this.control1.Bounds; //再算出矩形大小,每个控件元素都有的属性
if(rec.Contains(p)) //再判断是否在否在矩形内
{
//...
}
[/Quote]
去试验一下~~
danxuezx 2012-02-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 assky124 的回复:]

自己写一个就两行代码,太懒了

public static bool IsPointIn(RectangleF rect,PointF pt)
{
if(pt.X >= rect.X && pt.Y>= rect.Y && pt.X <= rect.X + rect.Width && pt.Y <= rect.Y + rect.Height……
[/Quote]
呵呵,学习一下
ohkuy 2012-02-06
  • 打赏
  • 举报
回复

//先定义一个点:
Point p = new Point(20, 30);
Rectangle rec = this.control1.Bounds; //再算出矩形大小,每个控件元素都有的属性
if(rec.Contains(p)) //再判断是否在否在矩形内
{
//...
}
assky124 2012-02-06
  • 打赏
  • 举报
回复
自己写一个就两行代码,太懒了

public static bool IsPointIn(RectangleF rect,PointF pt)
{
if(pt.X >= rect.X && pt.Y>= rect.Y && pt.X <= rect.X + rect.Width && pt.Y <= rect.Y + rect.Height)
{
return true;
}
else return false;
}
dangmao 2012-02-06
  • 打赏
  • 举报
回复
先定义一个label(矩形框)

private void frmMakeStatusString_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
//矩形框的左和上坐标
this.lblLocation.Left = e.X;
this.lblLocation.Top = e.Y;
}
int x = lblLocation.Left;
int y = lblLocation.Top;
}


ruanwei1987 2012-02-06
  • 打赏
  • 举报
回复
有,鼠标时判断 E.X E.Y 是不是在 一个 LOCATION 里面

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧