c# - 如何在 AxWindowsMediaPlayer 屏幕上拖放 C#
问题描述
我刚刚使用 AxWindowsMediaPlayer 组件创建了一个媒体播放器,我想将音频和视频文件拖放到屏幕上,我希望一旦拖放,文件就会自动播放,但我不知道该怎么做......它是真的很重要帮助我
解决方案
假设它是一个Windows Forms
C# 项目,您可以执行以下操作:
namespace WMP_DragDropTest
{
public partial class Form1 : System.Windows.Forms.Form
{
public Form1()
{
InitializeComponent();
}
private void panel1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
{
if (e.Data.GetDataPresent(System.Windows.Forms.DataFormats.FileDrop))
{
var file = (string[])e.Data.GetData(System.Windows.Forms.DataFormats.FileDrop);
string URL = file[0];
this.axWindowsMediaPlayer1.URL = URL;
}
}
private void panel1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
{
if (e.Data.GetDataPresent(System.Windows.Forms.DataFormats.FileDrop))
{
e.Effect = System.Windows.Forms.DragDropEffects.Link;
}
}
}
}
请注意,Windows Media Player 控件没有 Drag 事件,因此在上面的代码中,您需要将其包装在 a 中Panel
并将其属性设置AllowDrop
为True
fromDesigner
您还需要为DragDrop
and设置其事件DragEnter
。
推荐阅读
- azure - 表单识别器标签工具中 PDF 的“无法加载资产”
- batch-file - 故意的批处理文件异常
- google-analytics - 我有时会在 Tag Assistant 和 Google Analytics 中获得 2 次综合浏览量
- forms - rasa 2.0.2 上未激活表单
- flutter - 有什么帮助吗?安卓工作室新手
- oracle - 使用 UTL_MAIL.SEND 发送大型 CLOB 消息
- docker - 如何在 GitLab 代码质量 Docker 映像中削减对外部资源 registry-1.docker.io 的寻址?
- c# - 如何在 linq 上的数据库中搜索两个表?
- c# - 使用 Entity Framework Core 实现通用 GetByIds()
- pine-script - 提醒每根柱线收盘的买入或卖出信号