2014-10-19 5 views
-3

Я пытаюсь сделать программу C# для отображения информации об альбоме. Как показать информацию в полях справа, когда выбран элемент в списке?Как показать больше информации при изменении списка?

ГИП:

Код:

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.IO; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace Assignment_2_S2_2014 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 

     } 

     private void closeToolStripMenuItem_Click(object sender, EventArgs e) 
     { 
      this.Close(); 
     } 

     private void saveChangesToolStripMenuItem_Click(object sender, EventArgs e) 
     { 
      MessageBox.Show("Album information is automatically saved, if none are showing try LOAD option."); 
     } 

     private void loadAlbumsToolStripMenuItem_Click(object sender, EventArgs e) 
     { 
      try 
      { 

       lbxAlbums.Items.Clear(); 
       foreach (var line in File.ReadLines("Albums.dat")) 
       { 
        string[] tokens = line.Split(','); 
        lbxAlbums.Items.Add(tokens[0] + " - " + tokens[1]); 
       } 
       MessageBox.Show("Load Complete!"); 
      } 
      catch (Exception) 
      { 

       MessageBox.Show("No Albums Found. Try Adding Some First!"); 
      } 
     } 

     private void printSelectedToolStripMenuItem1_Click(object sender, EventArgs e) 
     { 
      PrintDialog dlg = new PrintDialog(); 
      dlg.ShowDialog(); 
     } 

     private void btnNew_Click(object sender, EventArgs e) 
     { 
      NewAlbum frm = new NewAlbum(); 

      frm.Show(); 

     } 

     private void lbxAlbums_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      string a = lbxAlbums.SelectedIndex.ToString(); 
     } 
    } 
} 
+0

Обработать это событие: http://msdn.microsoft.com/en-us/library/syste m.windows.forms.listbox.selectedindexchanged.aspx – Blorgbeard

+0

Ваш вопрос о получении этих атрибутов из аудиофайла? или это касается обработки выбранного изменения элемента? – Shaharyar

+0

@Shaharyar использует информацию из файла сохранения, чтобы загрузить информацию слева, просто нужно показать всю информацию справа. – mcclma

ответ

0

В SelectedIndexChanged обработчика события вы должны получить выбранный элемент и извлекать значения из него путем разделения его:

private void lbxAlbums_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    string title, artist = ""; 

    title = lbxAlbums.SelectedItem.ToString().Split(new string[] { " - " }, StringSplitOptions.RemoveEmptyEntries)[0]; 
    artist = lbxAlbums.SelectedItem.ToString().Split(new string[] { " - " }, StringSplitOptions.RemoveEmptyEntries)[1]; 

    //now you can use them to assign those labels 
} 
+0

Это сработало отлично, спасибо. – mcclma

Смежные вопросы