c# - ObjectListView 从另一个模型对象接收拖动
问题描述
我使用了一个 ObjectListView 和一个 TreeListView 我想将 ObjectListView 中的选定对象拖到 TreeListView 并在 DragDropEvent 上做一些事情。
在经典的 TreeView 中,我们可以使用 GetNodeAt 来检索鼠标点位置悬停的节点。如何在接收事件 DragDrop 的 TreeListView 中获取当前对象。
提前致谢。埃里克。
解决方案
这对我有用:
public Form1()
{
InitializeComponent();
tlv.IsSimpleDropSink = true;
olv.IsSimpleDragSource = true;
olv.AddObject("Fish");
tlv.ModelCanDrop += (s,e)=>{e.Effect = DragDropEffects.Copy;};
tlv.ModelDropped += Tlv_ModelDropped;
}
private void Tlv_ModelDropped(object sender, BrightIdeasSoftware.ModelDropEventArgs e)
{
foreach(var m in e.SourceModels)
((TreeListView)sender).AddObject(m);
}
推荐阅读
- reactjs - React Hooks 如何使用Callback“冻结”闭包?
- apache-spark - Spark Streaming、Structured Streaming 和 Kafka Streaming 是一回事吗?
- bash - 我可以使用 cut 来设置变量吗?
- google-cloud-platform - 为什么在列出 BQ 作业时使用 VM 实例中的服务帐户
- windows - 在 Windows 中设置特定于进程的权限
- reactjs - 有没有加速 React src 代码编译的工具?
- java - HTTP POST 中缺少授权标头
- android - 如何使用 RecyclerView 适配器显示来自 Firebase 存储的图片?
- git - 如何设置 vscode 以自动显示 git repo 中修改的文件而不刷新?
- javascript - Angular 和 moment.js:我应该将来自 json 字符串的字段转换为 Date 还是 moment.Moment?