2014-05-08 1 views
-3

J'essaye actuellement de faire mon lecteur mp3 pour un projet.FileDialogue - Apparemment, cela ne fonctionne pas?

J'ai écrit ce code en suivant un guide:

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]; 
     } 
    } 
} 

Et Heres un écran de ma forme: enter image description here

Pour une raison quelconque lorsque je clique sur le bouton OPEN, rien ne se passe. D'abord quand j'ai utilisé ce code j'ai eu une erreur sur "Form1_load", mais comme je ne l'utilisais pas, j'ai simplement supprimé la ligne d'erreur et aucune erreur n'a été trouvée.

Je suis très désemparé, donc n'importe qui avec TOUT ce qui ne va pas?

Je suivais ce guide complètement: http://www.c-sharpcorner.com/UploadFile/8ea152/mp3-media-player-in-C-Sharp-4-0/

Merci

+0

coller votre code pour "ouvrir les fichiers" bouton – andy

+0

@andy "FICHIERS OUVERTS" peut avoir un ID de 'button1' – TheGeekZn

+0

Avez-vous attribué l'événement Click à votre bouton? – Steve

Répondre

1

Tout d'abord assurez-vous que vous avez attribué événement de clic de votre bouton pour que double cliquez sur le bouton de la fenêtre de conception si vous réoriente à la méthode buttonclick alors tout va bien et si ce n'est pas le cas, assignez-le en premier. Pour que

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

Et

Pourquoi avez-vous besoin [STAThread] ici? Je veux dire simplement supprimer l'attribut et essayez à nouveau parce que [STAThread] est utilisé pour Reson ci-dessous: -

Le STAThreadAttribute marque un fil pour utiliser le monothread COM Appartement si COM est nécessaire. Par défaut, .NET n'initialisera pas COM au tous. C'est seulement quand COM est nécessaire, comme quand un objet COM ou COM est créé ou quand glisser 'n' drop est nécessaire, ce COM est initialisé. Lorsque cela se produit, .NET appelle la fonction CoInitializeEx sous-jacente, qui prend un indicateur indiquant s'il faut joindre le thread à un appartement multithread ou monothread.

Pour plus d'informations: -

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

+0

Cela a fonctionné parfaitement! Non, j'ai un autre problème, je peux sélectionner mes fichiers mp3, mais je ne peux pas le jouer? – KrownScripter

Questions connexes