【问题标题】:FileDialogue - Apparently it doesn't work?FileDialogue - 显然它不起作用?
【发布时间】:2014-05-08 09:23:40
【问题描述】:

我目前正在尝试为一个项目制作我的 mp3 播放器。

我按照指南编写了这段代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }    
        string[] files, path;
        [STAThread]  
        private void button1_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                files = openFileDialog1.SafeFileNames;
                path = openFileDialog1.FileNames;
                for (int i = 0; i < files.Length; i++)
                {
                    listBox1.Items.Add(files[i]);
                }
            }
        }
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1.URL = path[listBox1.SelectedIndex];
        }
    }
}

这是我的表单屏幕:

由于某种原因,当我单击“打开”按钮时,没有任何反应。首先,当我使用此代码时,我收到一个关于“Form1_load”的错误,但由于我没有使用它,我只是删除了错误行,然后没有发现错误。

我很无知,所以有人知道出了什么问题吗?

我完全遵循了本指南: http://www.c-sharpcorner.com/UploadFile/8ea152/mp3-media-player-in-C-Sharp-4-0/

谢谢

【问题讨论】:

  • 为“打开文件”按钮粘贴代码
  • @andy "OPEN FILES" 的 ID 可能为 button1
  • 您是否将 Click 事件分配给您的按钮?

标签: c# mp3


【解决方案1】:

首先确保你已经为你的按钮分配了点击事件,只要从设计窗口双击你的按钮,如果它把你重定向到 buttonclick 方法,那么一切都很好,如果它没有然后首先分配它。为此

 public Form1()
        {
            InitializeComponent();
            button1.Click += button1_Click;
        } 

为什么在这里需要 [STAThread]?我的意思是删除属性并重试,因为 [STAThread] 用于以下共振:-

STAThreadAttribute 将线程标记为使用单线程 COM 如果需要 COM 的公寓。默认情况下,.NET 不会在 全部。仅在需要 COM 时,例如 COM 对象或 COM 创建控件或需要拖放时,COM 是 初始化。发生这种情况时,.NET 调用底层 CoInitializeEx 函数,它接受一个指示是否加入的标志 线程到多线程或单线程单元。

更多信息:-

http://blogs.msdn.com/b/jfoscoding/archive/2005/04/07/406341.aspx

【讨论】:

  • 这很完美!不,我遇到了另一个问题,我可以选择我的 mp3 文件,但我无法播放?
猜你喜欢
  • 1970-01-01
  • 2012-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-01
  • 2020-05-15
  • 1970-01-01
相关资源
最近更新 更多