private void calendarPlanner1_ItemClick(object sender, WeekPlannerItemEventArgs e)
{
DoDragDrop(calendarPlanner1.SelectedItem, DragDropEffects.Move);
}
private void calendarPlanner1_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
private void calendarPlanner1_DragDrop(object sender, DragEventArgs e)
{
SRRepair repairDrag = new SRRepair();
var rows = calendarPlanner1.Rows;
var row = rows.ElementAt(calendarPlanner1.SelectedRowIndex);
row.Items.Add((WeekPlannerItem)e.Data.GetData(typeof(WeekPlannerItem)));
repairDrag = assignedRepairsList[assignedItemCollection.IndexOf(calendarPlanner1.SelectedItem)];
repairDrag.AssignedToUser = engineerList[calendarPlanner1.SelectedRowIndex];
repairDrag.Update();
}
上面的代码是我迄今为止的拖放操作。在第三种(拖放)方法之前它可以正常工作。基本上我想要实现的是在名称之间拖动一个项目。我可以使用'calendar.SelectedRowIndex'获取我拖动项目的索引,但问题是获取目标的索引或我想要将其拖动到的位置。允许我拖动项目,但是当我松开鼠标左键时,它会回到原来的位置。日历是开源的,我从 codeproject 中找到它,我正在使用和修改它以将其添加到现有的桌面应用程序中。
无论如何,一旦我释放鼠标左键,我可以使用一个事件来获取鼠标的位置吗?