我有一个表单,其中包含可以拖出我的表单以独立使用的组件。
关于 QueryContinueDrag 我的组件的事件,如果 QueryContinueDragEventArgs.Action 是 Drop 我测试我的组件是否在事件表单中。如果没有,我创建一个新表单并将它放在我的光标位置。
问题是,dragEffect 表明我不能退出表单。有什么办法可以改变这个吗?
不能在这里发布太多代码,因为它比这更复杂。但如果需要,我会尝试做一个简单的项目来展示我的问题。
最佳答案
根据 Jimi :
您可以在拖动某些内容时更改光标。
在 QueryContinueDrag 中试试这个:
switch (e.Action)
{
case DragAction.Continue:
if (!this.Bounds.Contains(MousePosition))
Cursor.Current = Cursors.Help;
break;
case DragAction.Drop:
if (!this.Bounds.Contains(MousePosition))
{
// new Form
}
break;
}
你可以在 GiveFeedback
中做同样的事情,检查光标位置,并设置 e.UseDefaultCursors = false; Cursor.Current = Cursors.Help;
如果仓位超出范围,否则 e.UseDefaultCursors = true;
.
关于c# - 移出表单时更改 DragEffect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64559056/