Sono nuovo alla programmazione e C# e sembrava aver lavorato me stesso in un po 'di confusione con quanto sopra. Quello che sto cercando di fare è creare un front-end per il PC multimediale del salotto niente a cui pensare per cominciare, perché ho capito che questo è un compito mamoth per un noobie totale come me. Ive è sbalordito e sto completamente bene con il lancio di file esterni, memorizzando/caricando le risorse ecc. Ed è stato molto contento dei miei risultati per il mio surf di 2 settimane.Riempire Listview & Imagelist elemento selezionato confusione C#
Quindi sto iniziando il mio progetto lanciando un emulatore per iniziare e quello che vorrei fare è scansionare una cartella per file zip e file immagine e se trova immagini corrispondenti e file zip mostra un'immagine in un visualizzazione elenco per ogni zip trovata.
Così popolo le mie listbox in questo modo e ottengo i miei 2 listbox che mostrano le cose che voglio vedere.
PopulateListBox(listBox1, "\\SomePath\\", "*.zip");
PopulateListBox(listBox2, "\\Images\\", "*.jpg");
private void PopulateListBox(ListBox lsb, string Folder, string FileType)
{
DirectoryInfo dinfo = new DirectoryInfo(Folder);
FileInfo[] Files = dinfo.GetFiles(FileType);
foreach (FileInfo file in Files)
{
lsb.Items.Add(file.Name);
}
}
Così ora ho i miei 2 listboxes e potete vedere ho game1.zip e game1.jpg, grande ora posso riempire la mia ListView con l'immagine game1 e lanciare l'emulatore ha detto di semplice.
Questo è il modo in cui attualmente sto compilando il listview.
PopulateListView();
private void PopulateListView()
{
if (listBox1.Items.Contains("game1.zip"))
{
if (File.Exists("\\Images\\game1.jpg"))
{
imageList1.Images.Add(Image.FromFile("\\Images\\game1.jpg"));
listView1.Items.Add("", 0);
}
}
if (listBox1.Items.Contains("game2.zip"))
{
if (File.Exists("\\Images\\game2.jpg"))
{
imageList1.Images.Add(Image.FromFile("\\Images\\game2.jpg"));
listView1.Items.Add("", 1);
}
}
}
Questo è il modo in cui sto avviando attualmente e funziona bene.
// launch item
private void listView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (listView1.Items[0].Selected == true)
{
string rom = "\\" + listBox1.Items[0].ToString();
// Launch code in here
}
if (listView1.Items[1].Selected == true)
{
string rom = "\\" + listBox1.Items[1].ToString();
// Launch code in here
}
}
Quindi quale potrebbe essere il problema? Invece di continuare a digitare tutte le informazioni per ogni articolo, voglio usare un qualche tipo di statuto se possibile e non so cosa cercare per quale non aiuta. Il nome dell'immagine corrisponderà sempre al nome zip, basta perdere le estensioni dei file in modo da popolare la lista come qualcosa del genere.
if (listbox1 item = listbox2 item)
{
add to imagelist and listview automaticly with same index
}
Quindi voglio essere in grado di lanciare usando solo qualcosa come questo.
private void listView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
string rom = "\\" + listview.selected.item.tostring;
// Launch code in here
}
im Speranza rendendo senso im alla mia fine Witts.
saluti
Derek
Grazie così tanto che è perfetto il commento è eccellente questo mi aiuterà così tanto non posso ringraziarvi abbastanza (che Goe a tutti coloro che hanno risposto) –