リストボックスを使用して、フォームのメディアプレーヤーからファイルを再生しています。以下のコードを使用して、リストボックス内のファイルを取得しています。ファイル名が返されるため、リストボックスからファイルを再生できるようになり、次のアイテムが必要になりましたリストボックスで、時間差の後に自動的に再生されます。これを行う方法
this.listBox1.DisplayMember = "Name";/*to display name on listbox*/
this.listBox1.ValueMember = "FullName";/*to fetch item value on listbox*/
listBox1.DataSource = GetFolder("..\\video\\"); /*gets folder path*/
private static List<FileInfo> GetFolder(string folder)
{
List<FileInfo> fileList = new List<FileInfo>();
foreach (FileInfo file in new DirectoryInfo(folder)
.GetFiles("*.mpg",SearchOption.AllDirectories))
{
fileList.Add(file);
}
return fileList;
}
リストボックスの場合、次のコードを使用しています
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{
Player.URL = Convert.ToString(listBox2.SelectedItem);
}
listBox1 の場合、コードを使用しています
private void listBox1_SelectedIndexChanged(object sender, EventArgs e )
{
StreamWriter sw = new StreamWriter("..\\Debug\\List.txt", true);
//Player.URL = Convert.ToString(listBox1.SelectedItem);
string selectedItem = listBox1.Items[listBox1.SelectedIndex].ToString();
//listView1.Items.Add(listBox1.SelectedItem.ToString());
foreach (object o in listBox1.SelectedItems)
sw.WriteLine(DateTime.Now + " - " + o);
sw.Close();
}
次に、ボタンを使用して、選択した listbox1 ファイルを別のフォームの listBox2 に転送しています
private void button1_Click_1(object sender, EventArgs e)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
foreach (object item in listBox1.Items)
{
sb.Append(item.ToString());
sb.Append(" ");
}
string selectedItem = listBox1.Items[listBox1.SelectedIndex].ToString();
//listBox2.Items.Add(listBox1.SelectedItem.ToString());
Form3 frm = new Form3();
foreach (int i in listBox1.SelectedIndices)
{
frm.listBox2.Items.Add(listBox1.Items[i].ToString());
frm.Show();
this.Hide();
}
}
listbox2 コードは上記に記載されています。