背景:我有一个C#winforms应用程序。我将信息从一个datagridview拖到另一个datagridview。对于我的目的地网格拖曳过的事件,我有以下代码:如何在拖放过程中更改鼠标光标?
private void grid_DragOver(object sender, DragEventArgs e)
{
if(e.Data.GetDataPresent(typeof(SelectedRecordsCollection)))
{
e.Effect = DragDropEffects.Move;
}
}
我想限制的下降,当鼠标悬停在特定的行(比如,行与奇数的索引编号,只被允许)。我目前限制了实际添加到dragdrop事件中目标网格的内容。但是,由于上述代码,只要鼠标悬停在目标控件的任何位置,光标就会变为移动图标。
问题:我如何让这个光标是一个“Cursor.No”图标上到处都是目标网格,除了将其设置为移动图标,当鼠标在一排奇数指数?
谢谢。
编辑: Aseem的解决方案最终为我工作。
要获得“Cursor.No”效果,您需要使用“e.Effect = DragDropEffects.None;”。你的程序似乎需要一些更复杂的代码,尽管达到你想要的效果,基本上,如何检测它是否在一个奇怪的行...所以你可能不想使用“if(e.Data.GetDataPresent(typeof (SelectedRecordsCollection)))“,并用一个if语句改变它,该语句检测它所在的行是否很奇怪。 – Kaitlyn
我想你需要在'Drag_Enter'中做些什么。 – Sinatr
我同意,@Sinatr。他绝对必须在Drag_Enter中做一些事情,就像在这个答案中一样:http://stackoverflow.com/a/32242472/3472690(不回答他的问题,但提供了你说的一个例子) – Kaitlyn