我是C#的新手,但没有解决这个问题。这是我想要实现的。每当我将文件拖放到.exe文件上(在图标本身上)时,应用程序都应捕获所拖动文件的文件路径。
谢谢。
我正在使用TreeTableView来显示树的内容.树中的排序顺序是手动的,我希望能够拖放项目.
如何在TreeTableView中拖放项目?
我创建了多个文本框,我已将它们放在div中,并将div作为源代码,如下所示,
new dojo.dnd.Source(this.someAttachPoint);
Run Code Online (Sandbox Code Playgroud)
如果我这样做,我可以拖放,但文本框变得不适合,如何使其可编辑?
它不会崩溃,我在这里提到的所有异常只能在Visual Studio的Output窗口中看到.这是Dragging:
WPF 的实现:
<StackPanel Orientation="Vertical"
MouseDown="DragShortcut"
x:Name="Shortcut">
<Image Source="{Binding Icon}"/>
<Label Content="{Binding ShortcutLabel}"/>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
cs代码:
private void DragShortcut(object sender, MouseButtonEventArgs e)
{
if (e.LeftButton != MouseButtonState.Pressed)
return;
var dataObject = new DataObject(DataFormats.FileDrop, new[] { Options.DragDropOptions.ShortcutPath });
DragDrop.DoDragDrop(Shortcut, dataObject, DragDropEffects.Copy);
}
Run Code Online (Sandbox Code Playgroud)
一切似乎按预期工作,但每次我在桌面或资源管理器窗口上拖动东西时,我在Visual Studio的"输出"窗口中收到以下消息:
...
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in PresentationCore.dll
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in PresentationCore.dll
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in PresentationCore.dll
A first chance exception of type …Run Code Online (Sandbox Code Playgroud) 我有以下 ListView
<ListView Name="listAccounts" Width="300" AllowDrop="True" SelectionMode="Single" CanDragItems="True" CanDrag="True" CanReorderItems="True" Background="{ThemeResource myBackground}" DragItemsStarting="listAccounts_DragItemsStarting" Drop="listAccounts_Drop">
Run Code Online (Sandbox Code Playgroud)
并将我的事件处理程序定义为
private void listAccounts_DragItemsStarting(object sender, DragItemsStartingEventArgs e)
{
e.Data.SetData("itemIndex", (e.Items[0] as AccountList).Text.ToString());
}
private async void listAccounts_Drop(object sender, DragEventArgs e)
{
string itemIndexString = await e.Data.GetView().GetTextAsync("itemIndex");
}
Run Code Online (Sandbox Code Playgroud)
我不知道还能做些什么.我想在同一个列表中实现列表项的移动.
我正在使用拖放式jQuery ui来创建表单输入,但是将元素拖到正确的div后面时z-index存在问题,但是将其删除后可见。那么如何解决此问题以使元素在拖动时在正确的div上可见
在JS中
$('#main1 div').draggable({
cursor: 'pointer',
connectWith: '.dropme2',
helper: 'clone',
zIndex: 10
});
$('.dropme2 form').sortable({
connectWith: '.dropme',
cursor: 'pointer',
zIndex: 1000
});
Run Code Online (Sandbox Code Playgroud)
的HTML
<div class="dropme" id="main1">
<div id="ytvid">YouTube video</div>
<div id="paragraph">Paragraph</div>
</div>
<div class="dropme2" id="trash">
<form id="form" style="width: 100%; min-height: 100px; float: left; padding-bottom: 40px;
position: relative; z-index: 2;">
<input type="submit" id="getids" value="save" style="position: absolute; bottom: 0; left: 48%;" />
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
的CSS
#trash,
#main1 {
display: inline-block;
width: 250px;
min-height: 100px;
overflow: hidden;
float: left;
margin-right: 30px; …Run Code Online (Sandbox Code Playgroud) 我正在努力通过创建一个指示器(拖曳元素的轮廓)来改进拖放实现,当您在网格中拖动和移动时,该指示器沿着设置的柔性网格移动.在当前实现中,拖动的元素就位,当我放下放置目标时,它会更新flex命令.我要做的是完全隐藏元素,以提供关于元素放置位置的更好的视觉提示.问题是如果我在拖动开始时隐藏元素,拖动工作流突然结束,甚至不会触发后续的拖动操作.
我正在显示两个列表,但是我无法拖放项目.演示非常简单,只是一个html文件,javascript文件和css文件.
这是我的index.html文件:
<!DOCTYPE html>
<html ng-app="demo">
<head lang="en">
<meta charset="utf-8">
<title>Drag & Drop Demo</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script>
<script src="bower_components/angular-drag-and-drop-lists/angular-drag-and-drop-lists.min.js"></script>
<script src="Scripts/my-app.js"></script>
<link href="Content/my-styling.css" rel="stylesheet" />
</head>
<body class="simpleDemo" ng-controller="SimpleDemoController">
<ul dnd-list="list">
<li ng-repeat="item in models.lists.A"
dnd-draggable="item"
dnd-moved="models.lists.A.splice($index, 1)"
dnd-effect-allowed="move"
dnd-selected="models.selected = item"
ng-class="{'selected': models.selected === item}">
{{item.label}}
</li>
</ul>
<ul dnd-list="list">
<li ng-repeat="item in models.lists.B"
dnd-draggable="item"
dnd-moved="models.lists.B.splice($index, 1)"
dnd-effect-allowed="move"
dnd-selected="models.selected = item"
ng-class="{'selected': models.selected === item}">
{{item.label}}
</li>
</ul>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是我的js文件:
angular.module("demo", []).controller("SimpleDemoController", function ($scope) { …Run Code Online (Sandbox Code Playgroud) 我已将Dropzone设置为仅允许PDfs
acceptedFiles: "application/pdf"
Run Code Online (Sandbox Code Playgroud)
但是每当我上传PDF时都会抛出错误.在响应中,它声明我尝试上传的文件是一个未知的文件类型.
type: "unknown/data"
Run Code Online (Sandbox Code Playgroud)
我不知道如何处理或修复它.我尝试了来自所有不同来源的多个PDF文件.
我喜欢将文件从Windows资源管理器或Outlook邮件中的附件拖到MS-Access中.
我发现我已经可以使用Access BoundObjectFrame(https://msdn.microsoft.com/en-us/library/office/ff835725.aspx)作为目标来从Windows资源管理器中拖放文件.
通过以下代码,我看到有些内容被丢弃到了字段中:
Private Sub OLE1_GotFocus()
Debug.Print "OLE1_GotFocus()"
Debug.Print " OLE1.Value: " & OLE1.Value
End Sub
Run Code Online (Sandbox Code Playgroud)
但价值只是一些二进制信息.我想知道丢弃的文件名,或者我想读取删除文件中的内容(即删除文本文件).
我看了所有的属性,并在互联网上搜索,但我没有找到解决方案.我猜想很多人会在我想做之前尝试过.
有任何想法吗?
drag-and-drop ×10
c# ×3
javascript ×2
jquery ×2
angularjs ×1
comexception ×1
css ×1
dojo ×1
drag ×1
dropzone.js ×1
html ×1
html5 ×1
javafx ×1
jquery-ui ×1
ms-access ×1
uwp ×1
vba ×1
wpf ×1
xaml ×1