C# listBox

04/12/2012 11:56 [The]Mangaa#1
Hi

Ich arbeite gerade an einem MediaPlayer, da ich noch ein anfänger in C# bin und das relativ einfach zu sein scheint...

ich hab auf umwegen eine Playlist wia listBox erstellen können, kann diese inzwischen auch speichern...

mein letztes Problem ist jetzt:
ich möchte die Playlist gerne von oben nach unten (und vllt zufällig, muss nich sein) abspielen lassen, also muss wenn ein Element der ListBox gelesen und im Player gespielt wurde, das darunterliegende, bzw. beim zufäligen auswählen irgendein anderes ausgewählt werden...

kann mir vllt jemand helfen, ich hab nämlich keinen plan wie das gehen soll :D

ich verwende den axWindowsMediaPlayer mit eigenen Buttons, eine listBox, Buttons und natürlich Code :D

lg. Mangaa
04/12/2012 12:08 Kraizy​#2
SelectedIndex += 1
SelectedIndex = New Random().Next(Items.Count)
04/12/2012 12:26 [The]Mangaa#3
private void button2_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.play();
}

private void button3_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.pause();
}

private void button4_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.stop();
}

private void button5_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.previous();
}

private void button6_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.next();
}

private void button7_Click(object sender, EventArgs e)
{

openFileDialog3.Filter = "MP3 Dateien (*.mp3)|*.mp3| Alle Dateien (*.*)|*.*";
openFileDialog3.FileName = "";

if (openFileDialog3.ShowDialog(Owner) == DialogResult.OK)
{
axWindowsMediaPlayer1.URL = openFileDialog3.FileName;
}//öffnen einer datei

}

private void trackBar1_Scroll(object sender, EventArgs e)
{
axWindowsMediaPlayer1.settings.volume = trackBar1.Value;
}



private void button8_Click(object sender, EventArgs e)
{
listBox1.Items.Add(axWindowsMediaPlayer1.URL);
}

private void button10_Click(object sender, EventArgs e)
{
listBox1.Items.Remove(listBox1.SelectedItem);
}

private void button9_Click(object sender, EventArgs e)
{


}

private void button13_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
}

private void listBox1_DoubleClick(object sender, EventArgs e)
{
string a = (string)listBox1.SelectedItem;
axWindowsMediaPlayer1.URL = a;
}

private void button14_Click(object sender, EventArgs e)
{

openFileDialog3.Filter = "MP3 Dateien (*.mp3)|*.mp3| Alle Dateien (*.*)|*.*";
openFileDialog3.FileName = "";

if(openFileDialog4.ShowDialog(Owner)==DialogResult .OK)
{
listBox1.Items.Add(openFileDialog4.FileName);
}
}

private void button11_Click(object sender, EventArgs e)
{
string save;

saveFileDialog2.Filter = "Textdateien (*.txt)|*.txt | Alle Dateien (*.*)|*.*";
saveFileDialog2.FileName = "Neue Playlist";


if (saveFileDialog2.ShowDialog(Owner) == DialogResult.OK)
{
save = saveFileDialog2.FileName;

string[] listItems = new string[listBox1.Items.Count];
listBox1.Items.CopyTo(listItems, 0);

System.IO.File.WriteAllLines(@save, listItems);
}
}

private void button12_Click(object sender, EventArgs e)
{
string open;

openFileDialog2.Filter = "Textdateien (*.txt)|*.txt| Alle Dateien (*.*)|*.*";
openFileDialog2.FileName = "";


if (openFileDialog2.ShowDialog(Owner) == DialogResult.OK)
{
open = openFileDialog2.FileName;
listBox1.Items.Clear();

string[] listItems = System.IO.File.ReadAllLines(@open);
listBox1.Items.AddRange(listItems);


}

}

Da ich nicht weiß wie ich das einbaun soll, is hier mal mein bisheriger code....
04/12/2012 13:29 Kraizy​#4
Naja, es müsste ja ein Event geben, welches aufgerufen wird, wenn das Lied z.B. zu Ende ist (kann evtl. das PlayStateChange sein, keine Ahnung, bin zu faul für dich zu googlen) und dort erhöhst du halt den SelectedIndex um eins, und übergibst es wie du es bereits hier gemacht hast:
Quote:
string a = (string)listBox1.SelectedItem;
axWindowsMediaPlayer1.URL = a;
04/12/2012 15:46 [The]Mangaa#5
Ich hab einige lösungen gefunden, so wie dus oben geschrieben hasst, gehts übrigens nicht ganz ....
04/12/2012 16:32 Kraizy​#6
Achso, und warum..?
04/12/2012 17:52 StridingGiant#7
Und ich kann dir nur den Rat geben: Verwende für deine Elemente immer aussagekräftige Namen (listbox1 in PlayList o.ä. ändern), ansonsten verliert man leicht die Übersicht!
04/15/2012 14:06 !llu#8
Ich denke das kann man sich selber aussuchen.
Ich komme damit ganz gut zurecht.
@TE :
Hab eine frage.
Lädst du die Lieder runter oder includest du sie mit in den Resourcen?
04/15/2012 14:16 Kraizy​#9
Quote:
Originally Posted by DarkAzrail View Post
Ich denke das kann man sich selber aussuchen.
Ich komme damit ganz gut zurecht.
Dann arbeite mal an einem größeren Projekt. Du wirst das Problem schon erkennen, wenn du nicht Bezeichnungen wie z.B. btnStart, btnStop usw. sondern Button1, 2, 3, ... benutzt.
04/18/2012 19:59 DyjgK64J451Jhv0#10
post this as code cuz my eyes hurts , some translation will help too