是否可以在处理拖动时更改鼠标光标(来自DragOver事件)
本文关键字:光标 鼠标 来自 DragOver 事件 处理 拖动 是否 | 更新日期: 2023-09-27 17:57:54
当用户将项目拖到我们的应用程序中时,我们需要向用户显示反馈。我们的客户更喜欢这种反馈以自定义光标的形式出现。
这已经通过使用GiveFeedback
事件处理程序中设置的自定义光标(在将项目拖出应用程序时由DoDragDrop
引发)实现了。GiveFeedbackEventArgs
允许我们指定UseDefaultCursors
属性-将其设置为false允许我们覆盖光标。
但是,DragOver
事件处理程序参数(相当于GiveFeedback
)不具有UseDefaultCursors
属性,因此从此处更改光标没有任何效果。
样本(这没有影响):
private void browser_DragOver(object sender, DragEventArgs e) {
Cursor.Current = Cursors.WaitCursor;
}
拖动操作源自我们的应用程序外部。(对于应用程序内拖动,它使用GiveFeedback
事件。
接收拖动时如何更改光标?这可能/可行吗?
void Form1_GiveFeedback(object sender, GiveFeedbackEventArgs e) {
e.UseDefaultCursors = false;
}
这就足够了吗
此代码将通过在鼠标指针旁边添加[+]号来更改鼠标指针。
private void Form_DragOver(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Copy;
}
我们在这里解决了一系列拖放问题:
在同一Windows窗体应用程序的实例之间拖放
希望这能为你指明正确的方向。