Csharp/C#教程:c#拖放listview分享


c#拖放listview

我有一个列表框,我将其拖入ListView。 现在我在ListView中有组,所以当ListView中的项目被删除时,它必须在该组下添加它。

这是处理丢弃的代码。

private void lstvPositions_DragDrop(object sender, DragEventArgs e) { var group = lstvPositions.GetItemAt(eX, eY); var item = e.Data.GetData(DataFormats.Text).ToString(); lstvPositions.Items.Add(new ListViewItem {Group = group.Group, Text = item}); } 

我没有找到可以给groupitem的函数,所以我使用了GetItemAt,我也可以从中访问listviewgroup。

但是GetItemAt总是返回null。

难道我做错了什么? 有没有更好的方法来实现这一目标?

首先,我假设您使用的是ListView,而不是ListBox,因为ListBox不包含GetItemAt成员。

要解决您的问题,请将点转换为本地坐标:

上述就是C#学习教程:c#拖放listview分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 private void lstvPositions_DragDrop(object sender, DragEventArgs e) { var localPoint = lstvPositions.PointToClient(new Point(eX, eY)); var group = lstvPositions.GetItemAt(localPoint.X, localPoint.Y); var item = e.Data.GetData(DataFormats.Text).ToString(); lstvPositions.Items.Add(new ListViewItem {Group = group.Group, Text = item}); } 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1027148.html

(0)
上一篇 2022年1月9日
下一篇 2022年1月9日

精彩推荐