获取 ListView 项的子项相对于 Form 的坐标
Posted
技术标签:
【中文标题】获取 ListView 项的子项相对于 Form 的坐标【英文标题】:Get coordinates of ListView items' subitems relative to the Form 【发布时间】:2014-10-10 12:28:29 【问题描述】:我有一个ListView
,有 4 个项目,每个项目有 3 个子项目。
现在,例如,我想获取第 2 项子项 2 相对于 Form
的坐标(位置)。
我该怎么做?
【问题讨论】:
x 和 y 是的。对于表单。 好像***.com/questions/4998076/… 这样我只能得到 list.PointToScreen(Point.Empty);我想得到 list.Items[1].SubItems[1].PointToScreen(Point.Empty); (但这会产生错误) 是的,貌似SubItem不是控件,所以没有PointToScreen
方法。
msdn.microsoft.com/en-us/library/…
【参考方案1】:
您正在寻找ListViewSubItem
的Bounds
属性。下面是该属性的简单用法:
private void listView1_MouseDown(object sender, MouseEventArgs e)
var bound = listView1.Items[1].SubItems[1].Bounds;
if (e.X > bound.Left && e.X < bound.Right && e.Y > bound.Top && e.Y < bound.Bottom)
MessageBox.Show("hello world");
【讨论】:
很高兴听到它有帮助:) 您也可以使用“bound.Contains (e.Location)”来获得更紧凑的代码。以上是关于获取 ListView 项的子项相对于 Form 的坐标的主要内容,如果未能解决你的问题,请参考以下文章