c# - 移出表单时更改 DragEffect

标签 c# winforms draggable

我有一个表单,其中包含可以拖出我的表单以独立使用的组件。
关于 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/

相关文章:

c# - 找到网站的主机 header value ?

c# - 异常 "There is no ViewData item of type ' IEnumerable<SelectListItem>"MVC

c# - 使用 mysql 作为数据库的文本框自动完成

c# - DataBind 列表框选择的项目到文本框

c# - 文本区域和超链接?

jquery - 通过单击按钮将 jquery 可拖动对象重置到原始位置

c# - 让所有线程休眠

c# - 如何强制 Windows 重新连接到网络驱动器

javascript - 使列表在按钮上不可拖动,单击 Sortable.js

javascript - Jquery UI 可拖动 : Align helper to mouse position