首页 > 解决方案 > 如何在 AxWindowsMediaPlayer 屏幕上拖放 C#

问题描述

我刚刚使用 AxWindowsMediaPlayer 组件创建了一个媒体播放器,我想将音频和视频文件拖放到屏幕上,我希望一旦拖放,文件就会自动播放,但我不知道该怎么做......它是真的很重要帮助我

标签: c#drag-and-dropscreenaxwindowsmediaplayer

解决方案


假设它是一个Windows FormsC# 项目,您可以执行以下操作:

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并将其属性设置AllowDropTruefromDesigner您还需要为DragDropand设置其事件DragEnter


推荐阅读