Denn hier bessere Erklärung ist eine GUI Screen:C# Add-Verfahren Gruppen 1 von 1 bis Ansicht Liste dann Listenausführung mit Methodengruppen enthält - nur keine getrennten Verfahren dynamisch
SCREEN GUI (kann kleines Bild nicht nur hinzufügen Link )
Und hier ist ein all meinen Code mit Kommentaren:
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;
using System.Media; // to play sounds
namespace Music_PLayer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//List View
listView1.View = View.Details;
listView1.FullRowSelect = true;
// Columns CONSTRUCT
listView1.Columns.Add("ID", 70);
listView1.Columns.Add("Music name", 150);
//combobox items
comboBox1.Items.Add("Music 1");
comboBox1.Items.Add("Music 2");
comboBox1.Items.Add("Music 3");
comboBox1.Items.Add("Music 4");
comboBox1.Items.Add("Music 5");
}
// ADD TO List VIEW
private void add(int ID, string name_music)
{
string[] row = { Convert.ToString(ID), name_music };
ListViewItem item = new ListViewItem(row);
listView1.Items.Add(item);
}
//button to delete selected items in list view
private void button_delete_selected_music_Click(object sender, EventArgs e)
{
try
{
listView1.SelectedItems[0].Remove();
}
catch { }
}
**//EDITED :**
// buttton to add music to list view
int i = 0;
private void button_add_music_Click(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex==0)
{
dictOfDelegate.Add("Music 1", playmusic1);
add(i, comboBox1.Text);
}
if (comboBox1.SelectedIndex == 1)
{
dictOfDelegate.Add("Music 2", playmusic2);
add(i, comboBox1.Text);
}
if (comboBox1.SelectedIndex == 2)
{
dictOfDelegate.Add("Music 3", playmusic3);
add(i, comboBox1.Text);
}
if (comboBox1.SelectedIndex == 3)
{
dictOfDelegate.Add("Music 4", playmusic4);
add(i, comboBox1.Text);
}
if (comboBox1.SelectedIndex == 4)
{
dictOfDelegate.Add("Music 5", playmusic5);
add(i, comboBox1.Text);
}
}
// button to start music
private void button_start_music(object sender, EventArgs e)
{
}
// Voids with music :
public void playmusic1()
{
SoundPlayer audio = new SoundPlayer(Music_PLayer.Properties.Resources.playsound1);
audio.Play();
}
public void playmusic2()
{
SoundPlayer audio = new SoundPlayer(Music_PLayer.Properties.Resources.playsound2);
audio.Play();
}
public void playmusic3()
{
SoundPlayer audio = new SoundPlayer(Music_PLayer.Properties.Resources.playsound3);
audio.Play();
}
public void playmusic4()
{
SoundPlayer audio = new SoundPlayer(Music_PLayer.Properties.Resources.playsound4);
audio.Play();
}
public void playmusic5()
{
SoundPlayer audio = new SoundPlayer(Music_PLayer.Properties.Resources.playsound5);
audio.Play();
}
public delegate void PlayMusic();
// EDITED
Dictionary<string, PlayMusic> dictOfDelegate = new Dictionary<string, PlayMusic>();
void CreateList()
{
dictOfDelegate.Add("Music 1", playmusic1);
dictOfDelegate.Add("Music 2", playmusic2);
dictOfDelegate.Add("Music 3", playmusic3);
dictOfDelegate.Add("Music 4", playmusic4);
dictOfDelegate.Add("Music 5", playmusic5);
}
void InvokeMethod(string item)
{
PlayMusic method = dictOfDelegate.First(x => x.Key == item).Value;
method.Invoke();
}
}
}
ich möchte ein Lied aus der Combobox auszuwählen es zu der Wiedergabeliste hinzufügen, die von oben nach unten spielen wird nach einem Klick auf die Schaltfläche "Musik starten".
Ich möchte einen ausgewählten Song aus der Combobox zur Listenansicht hinzufügen, wenn Sie auf die Schaltfläche "Musik zur Liste hinzufügen" klicken. Natürlich kann ich mit der Schaltfläche "Delete selected music" ein Lied aus der Liste löschen.
Also muss ich zum Beispiel tun, wenn ich aus der Combobox (Music1) klicken Sie auf die Schaltfläche (Add Music to list), es wird ID 1 Musikname Musik 1 angezeigt und wenn Sie auf die Schaltfläche Musik starten klicken wird void abspielen music1();
Ich weiß, dass ich nur gerade Text von Combobox in dem Listview, aber ich weiß nicht, wie kann ich Methode dort ...
Ich weiß nicht wirklich, wie Start-Schaltfläche Musik kodieren (i darüber nachzudenken, Warteschlange), um Musik mit meinem listView1 nacheinander abzuspielen.
Alles, was ich brauche, ist Sammlung oder etwas oder Warteschlange.
Wenn ich erklären nicht exacly nur fragen ..
Sie haben Recht, ich das dynamisch tun, aber ich möchte dies tun Wie gesagt, ich habe ein anderes Programm mit getrennten Methoden und ich brauche nur das!Wie kann ich das mit separaten Methoden tun? – Michael
Entschuldigung dafür, aber ich brauche nur in getrennten Methoden. Du solltest geduldig sein und nur darüber nachdenken, wie ich das machen kann? Danke für Ihr Vergnügen. – Michael
@Michael Ich bearbeitet - Sie könnten ein Wörterbuch verwenden, um den Namen des Sounds der Methode zuzuordnen, wenn Sie möchten. – EJoshuaS