我四处寻找答案,但似乎没有给出一个清晰的例子来说明如何做到这一点!
我只是希望能够从桌面/资源管理器中抓取图片并将其拖放到 WPF 图像控件或类似控件上。
有人能指出我正确的方向吗?我见过很多关于从应用程序到应用程序、或在应用程序内、或从应用程序到桌面拖放的示例,但几乎没有任何相反的情况。
我猜想需要某种形式的剪贴板交互。
我使用 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)
当我以普通帐户运行时它可以工作,但在管理员帐户中则不能。怎么解决呢?
通过鼠标拾取拖动 3D 点的最佳方法是什么?问题不在于拾取,而在于在 3D 空间中拖动。
我想有两种方法,一种是使用 gluUnProject 获取世界视图坐标并平移 3D 点。这种情况下的问题是,它仅在具有深度值的表面上(使用 glReadPixels),如果鼠标离开表面,它会根据 gluUnProject 的 winZ 组件给出最大或最小深度值。而且在某些情况下它不起作用。
第二种方法是使用 GL_MODELVIEW_MATRIX 沿 XY、XZ、YZ 平面拖动。但这种情况下的问题是,我们如何知道我们是在 XY、XZ 还是 YZ 平面上?我们如何知道轨迹球的前视图在 XY 平面内,如果我们想在侧平面而不是前平面上拖动怎么办?
那么,有没有什么方法可以为我提供准确的 2D 到 3D 坐标,以便我可以轻松地在各个方向上拖动 3D 点,而无需考虑平面情况?一定有办法的,我见过3D软件,他们有完美的拖动功能。
我正在构建一个网络应用程序,用户可以将图像拖到浏览器中并放置以上传它们。问题是,我希望文件按照与从中拖出文件的文件夹相同的顺序上传。看起来 ondrop 事件的 DragEvent.DataTransfer.FileList 中的文件是随机排序的。这个顺序是如何确定的呢?我是否可以确定用户从中拖出文件的文件夹中文件的原始顺序?
我已经使用 TinyMCE 一段时间了,但现在想实现拖放图像上传功能。(即,您可以将图像从本地计算机拖到文本编辑器中,调整大小和重新定位等,然后将其上传到服务器)我本来打算购买 Redactor 来实现此功能,但后来我注意到 TinyMCE 有 Paste_data_images 选项,允许图像直接拖/粘贴到编辑器中。这似乎将其转换为内联 Base64 编码数据。
我怀疑并且已经阅读过,理论上可以将此值提交到服务器,从Dom中提取base64 uri,将它们写入文件,用新创建文件的路径替换SRC,然后提交文本到数据库。有人实现过这个吗?
根据我最初的探索,我发现问题可能是:
有没有人设法让这个工作顺利进行?
此后我仔细检查了 Redactor,发现它也不适用于 IE 和 Edge。
我有一个自定义的 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)
如何确定该项目是否将插入到其所放置的项目的上方、内部或下方?
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
有没有办法调整从集合视图单元格开始拖动所需的时间?类似于UILongPressGestureRecognizer minimumPressDuration财产。
我知道我们可以遍历附加到视图的所有手势识别器,并可能找到我们需要的那个。但是这种方法感觉不可靠。
我需要使用 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 元素。
我正在开发具有拖放功能的网络应用程序。到目前为止,我使用的是基本的 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) drag-and-drop ×10
javascript ×4
.net ×1
3d ×1
angular ×1
angular-cdk ×1
c# ×1
c#-4.0 ×1
c++ ×1
dom-events ×1
drag ×1
file-upload ×1
fileapi ×1
html ×1
interactjs ×1
ios ×1
ngfor ×1
opengl ×1
qt ×1
qtreewidget ×1
reactjs ×1
redactor ×1
tinymce ×1
vue.js ×1
windows ×1
winforms ×1
wpf ×1