【问题标题】:drag and drop works but also drops from and to same grid Winforms C# .NET Framework拖放可以工作,但也可以从同一网格拖放到同一网格 Winforms C# .NET Framework
【发布时间】:2021-09-22 02:22:37
【问题描述】:

我实现了拖放并且一切正常,除了我可以从网格中拖放到复制文件的同一个网格中。我试图查看控件或数据源的类型,但似乎无法弄清楚。我在 if 语句中尝试了 File.Exists(file) 但没有用

我的尝试

            _attachmentGrid.DragEnter += (s, e) =>
            {

                if (e.Data.GetDataPresent(DataFormats.FileDrop))
                {
                    

                    e.Effect = DragDropEffects.Copy;
                }
                else
                {
                    e.Effect = DragDropEffects.None;
                }
            };

            _attachmentGrid.DragDrop += (s, e) =>
            {
                        
                //var newPath = Directory.GetCurrentDirectory();
  
                string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);

                if (files != null)
                {
                    foreach (string file in files)
                    {
                        string fileName = Path.GetFileName(file);
                      
                        AttachFile(file);

                    }
                }
            };

            _attachmentGrid.MouseDown += (s, e) =>
            {                           
                    byte[] data = GetData(_selection.SingleSelection);
                    string fileName = _selection.SingleSelection.Entity.FileAttachment.AttachmentName;
                    var list = new StringCollection();

                    list = _manager.DragAttachment(data, fileName);
                
                    DataObject dataObject = new DataObject();
                    dataObject.SetFileDropList(list);
                    _attachmentGrid.DoDragDrop(dataObject, DragDropEffects.Move | DragDropEffects.Copy);                  
              
            };```

Thank you

【问题讨论】:

    标签: c# .net winforms drag-and-drop


    【解决方案1】:

    最终在 mousedown 事件中放置了一个标签,并在拖放事件中检查该标签是否为真,然后不附加解决我的问题的文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-15
      • 2011-08-13
      • 1970-01-01
      • 2014-01-21
      • 2012-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多