c# - 控制拖放

标签 c# winforms drag-and-drop controls

我在 Windows 窗体上有一个用 C# 编写的用户控件,拖放事件只在控件的边缘触发,有没有人知道是什么导致了这让我发疯!?

private void flowDiagram1_DragEnter(object sender, DragEventArgs e)
{
  if(e.Data.GetDataPresent(DataFormats.Text))
    e.Effect = DragDropEffects.Move;
  else
    e.Effect = DragDropEffects.None;
}

private void flowDiagram1_DragOver(object sender, DragEventArgs e)
{
  if (!m_bDragging)
    flowDiagram1_DragDrop(sender, e);
}

private void flowDiagram1_DragDrop(object sender, DragEventArgs e)
{
  MessageBox.Show("Drop");
}

最佳答案

我想你也需要添加这个来拖过来:

if(e.Data.GetDataPresent(DataFormats.Text))
    e.Effect = DragDropEffects.Move;
  else
    e.Effect = DragDropEffects.None;

关于c# - 控制拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6792120/

相关文章:

winforms - 从其他线程更新UI

javascript - 拖动时的 Angular dragdrop css 类

javascript - 拖放 - JQuery 插件

c# - 如何在保留所有小数位的同时强制数字具有 3 位数字?

C# 更改 FlowLayoutPanel 中控件的位置

C#无法在单击按钮时隐藏标签

c# - 绑定(bind)到 DataGridView,因此每个单元格都是绑定(bind)对象而不是每一行

drag-and-drop - 拖放到 Fabric.js Canvas 中

c# 控制台不会在程序结束后关闭

c# - 如何从sql数据库中检索excel文件