标签: drag-and-drop

如何将图片从资源管理器拖放到 WPF 控件上?

我四处寻找答案,但似乎没有给出一个清晰的例子来说明如何做到这一点!

我只是希望能够从桌面/资源管理器中抓取图片并将其拖放到 WPF 图像控件或类似控件上。

有人能指出我正确的方向吗?我见过很多关于从应用程序到应用程序、或在应用程序内、或从应用程序到桌面拖放的示例,但几乎没有任何相反的情况。

我猜想需要某种形式的剪贴板交互。

.net windows wpf drag-and-drop c#-4.0

2
推荐指数
1
解决办法
4553
查看次数

在管理员帐户中运行 Visual Studio 时无法触发拖放事件

我使用 Visual Studio 2008、.net Framework 3.5

我有一个 webservice 应用程序(一个使用 webservice 的 winform 客户端),我必须在管理员帐户中运行它

我需要将文件从 Windows 资源管理器拖放到此应用程序的窗体中。

这是我的代码:

this.AllowDrop = true;

private void Form1_DragEnter(object sender, DragEventArgs e)
    {

        if (e.Data.GetDataPresent(DataFormats.FileDrop, false))
            e.Effect = DragDropEffects.All;
    }

private void Form1_DragDrop(object sender, DragEventArgs e)
    {
        string[] fileList = e.Data.GetData(DataFormats.FileDrop) as string[];
        foreach (string s in fileList)
        {
            MessageBox.Show(s);
        }

    }
Run Code Online (Sandbox Code Playgroud)

当我以普通帐户运行时它可以工作,但在管理员帐户中则不能。怎么解决呢?

c# drag-and-drop administrator winforms

2
推荐指数
1
解决办法
6077
查看次数

在 OpenGL 中使用鼠标拾取在 3D 空间中拖动 3D 点的最佳方法?

通过鼠标拾取拖动 3D 点的最佳方法是什么?问题不在于拾取,而在于在 3D 空间中拖动。

我想有两种方法,一种是使用 gluUnProject 获取世界视图坐标并平移 3D 点。这种情况下的问题是,它仅在具有深度值的表面上(使用 glReadPixels),如果鼠标离开表面,它会根据 gluUnProject 的 winZ 组件给出最大或最小深度值。而且在某些情况下它不起作用。

第二种方法是使用 GL_MODELVIEW_MATRIX 沿 XY、XZ、YZ 平面拖动。但这种情况下的问题是,我们如何知道我们是在 XY、XZ 还是 YZ 平面上?我们如何知道轨迹球的前视图在 XY 平面内,如果我们想在侧平面而不是前平面上拖动怎么办?

那么,有没有什么方法可以为我提供准确的 2D 到 3D 坐标,以便我可以轻松地在各个方向上拖动 3D 点,而无需考虑平面情况?一定有办法的,我见过3D软件,他们有完美的拖动功能。

c++ opengl 3d drag-and-drop mouse-picking

2
推荐指数
1
解决办法
5156
查看次数

在 javascript 中拖放文件时,文件添加到 DataTransfer FileList 的顺序是什么?

我正在构建一个网络应用程序,用户可以将图像拖到浏览器中并放置以上传它们。问题是,我希望文件按照与从中拖出文件的文件夹相同的顺序上传。看起来 ondrop 事件的 DragEvent.DataTransfer.FileList 中的文件是随机排序的。这个顺序是如何确定的呢?我是否可以确定用户从中拖出文件的文件夹中文件的原始顺序?

html javascript drag-and-drop fileapi

2
推荐指数
1
解决办法
974
查看次数

TinyMCE 拖放图像上传问题

我已经使用 TinyMCE 一段时间了,但现在想实现拖放图像上传功能。(即,您可以将图像从本地计算机拖到文本编辑器中,调整大小和重新定位等,然后将其上传到服务器)我本来打算购买 Redactor 来实现此功能,但后来我注意到 TinyMCE 有 Paste_data_images 选项,允许图像直接拖/粘贴到编辑器中。这似乎将其转换为内联 Base64 编码数据。

我怀疑并且已经阅读过,理论上可以将此值提交到服务器,从Dom中提取base64 uri,将它们写入文件,用新创建文件的路径替换SRC,然后提交文本到数据库。有人实现过这个吗?

根据我最初的探索,我发现问题可能是:

  • 巨大的图像(~100mb)可能会被粘贴到文本框中,这可能会导致问题。
  • Internet Explorer 11 和 Edge 浏览器似乎根本不允许将图像拖到文本框中。

有没有人设法让这个工作顺利进行?

此后我仔细检查了 Redactor,发现它也不适用于 IE 和 Edge。

javascript drag-and-drop tinymce file-upload redactor

2
推荐指数
1
解决办法
3914
查看次数

获取相对于 QTreeWidget 上的项目的放置位置

我有一个自定义的 QTreeWidget 类,其dropEvent()方法被重写。方法如下:

void QCustomTreeWidget::dropEvent(QDropEvent * event)
{
    QModelIndex droppedIndex = indexAt(event->pos());

    if (!droppedIndex.isValid())
        return;

    // other logic

    QTreeWidget::dropEvent(event);
}
Run Code Online (Sandbox Code Playgroud)

如何确定该项目是否将插入到其所放置的项目的上方、内部或下方?

qt drag-and-drop qtreewidget qtreewidgetitem

2
推荐指数
1
解决办法
2333
查看次数

当我拖动一个元素时,react-sortable-hoc 列表消失

JSFiddle:https ://jsfiddle.net/40vpaLj5/

我用谷歌搜索了一些问题,我发现唯一消失的相关问题是当人们在模态上使用它时,他们谈到设置 z-index 来修复它。反正我试过了还是什么都没有。我怎样才能解决这个问题?

import React from 'react';
import PlaylistPages from './PlaylistPages';

class PlaylistSortableComponent extends React.Component {
  constructor(props, context) {
    super(props, context);

    this.state = {
      test: [
        '1','2', '3', '4'
      ]
    }
  }

  render() {
    return (
      <PlaylistPages pages={this.state.test} style={{zIndex: 999999}} />
    );
  }
}   


const PlaylistPages = SortableContainer(({pages}) => {
  return (
    <div>
      {
        pages.map((page, index) =>
          <PlaylistPage key={index} page={page} style={{zIndex: 99999999}} />
      )}
    </div>
  );
});   

const PlaylistPage = SortableElement(({page}) => {
  return (
    <div style={{zIndex: …
Run Code Online (Sandbox Code Playgroud)

javascript drag-and-drop reactjs higher-order-components react-sortable-hoc

2
推荐指数
1
解决办法
2974
查看次数

集合视图拖放延迟

有没有办法调整从集合视图单元格开始拖动所需的时间?类似于UILongPressGestureRecognizer minimumPressDuration财产。

我知道我们可以遍历附加到视图的所有手势识别器,并可能找到我们需要的那个。但是这种方法感觉不可靠。

drag-and-drop ios uicollectionview

2
推荐指数
1
解决办法
636
查看次数

angular/cdk 简单拖动不适用于带有 ngFor 的 div

我需要使用 angular-cdk 制作可拖动的项目。我已经在 app 模块中导入了 DragDropModule。我正在 ngFor 中应用 cdkDrag。

<div *ngIf="messages.length" >
    <div
      *ngFor="let message of messages" cdkDrag>
      <strong>{{ message }}</strong>
    </div>
  </div>
Run Code Online (Sandbox Code Playgroud)

拖动没有按预期工作,控制台中也没有出现错误。拖动功能适用于普通 div 元素。

drag-and-drop drag ngfor angular angular-cdk

2
推荐指数
2
解决办法
9116
查看次数

多次触发拖放事件

我正在开发具有拖放功能的网络应用程序。到目前为止,我使用的是基本的 HTML5 拖动,但现在我转而使用库interact.js。

我不知道我的问题是特定于这个库还是更一般的类型:拖放时的事件通常会触发多次(如果我没看错,它似乎也总是恰好 4 次,但不能保证那)。

我也在使用 Vue.js,这是我的代码:

<template>
    <v-card
      elevation="0"
      :id="id"
      class="board device-dropzone"
    >
        <slot class="row"/>
        <div
         Drop Card here
        </div>
    </v-card>
</template>
Run Code Online (Sandbox Code Playgroud)

在插槽中,添加了带有文本的图像和 div。这也是脚本:

<script>
import interact from 'interactjs';

export default {
  name: 'Devices',
  props: ['id', 'acceptsDrop'],
  data() {
    return {
      extendedHover: false,
      hoverEnter: false,
      timer: null,
      totalTime: 2,
    };
  },
  methods: {
    resetHover() {
      alert('reset');
    },
    drop(e) {
      let wantedId = e.relatedTarget.id.split('-')[0];
      console.log(wantedId);
      console.warn(e.target);
      e.target.classList.remove('hover-drag-over');
      this.extendedHover = false;
      console.log('-------------dropped');
      console.warn('dropped onto device');
      this.$emit('dropped-component', cardId);
      e.target.classList.remove('hover-drag-over'); */
    }, …
Run Code Online (Sandbox Code Playgroud)

javascript drag-and-drop dom-events vue.js interactjs

2
推荐指数
1
解决办法
1969
查看次数