Reputation: 35
So I have this namespace with two clases:
namespace Fonoteka1
{
public class Daina : IEquatable<Daina>
{
public string vardas { get; set; }
public int kodas { get; set; }
public Daina()
{
vardas = "nėra dainų";
kodas = 0;
}
public bool Equals(Daina other)
{
throw new NotImplementedException();
}
public override string ToString()
{
return "Vieta: " + vardas + " Kodas: " + kodas;
}
public string getVardas()
{
return vardas;
}
public int getKodas()
{
return kodas;
}
}
public class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
List<Daina> pradinis = new List<Daina>();
List<Daina> antras = new List<Daina>();
pradinis.Add(new Daina { vardas = @"C:\Users\Gintarė\OneDrive\KTU paskaitos\5 semestras\Multimedijos sistemų projektavimas\Projektas\Fonoteka\Media\R. City - Locked Away ft. Adam Levine.mp3", kodas = 125 });
pradinis.Add(new Daina { vardas = @"C:\Users\Gintarė\OneDrive\KTU paskaitos\5 semestras\Multimedijos sistemų projektavimas\Projektas\Fonoteka\Media\Red Hot Chili Peppers - Californication.mp3", kodas = 1269 });
pradinis.Add(new Daina { vardas = @"C:\Users\Gintarė\OneDrive\KTU paskaitos\5 semestras\Multimedijos sistemų projektavimas\Projektas\Fonoteka\Media\BWO - Sunshine In The Rain.mp3", kodas = 15 });
pradinis.Add(new Daina { vardas = @"C:\Users\Gintarė\OneDrive\KTU paskaitos\5 semestras\Multimedijos sistemų projektavimas\Projektas\Fonoteka\Media\Cloud Atlas - Sextet.mp3", kodas = 89 });
}
}
}
and other namespace with form (GUI):
namespace Fonoteka
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
}
I want to print pradinis list (from Fonoteka1) in listbox1 (From Fonoteka), but I have no idea how(In listbox I cant reach pradinis list)? Also, when I clisk on a song from listbox, with button1 I want to get that songs code ( int kodas from Daina class) Any help? :)
Upvotes: 0
Views: 384
Reputation: 3153
Code after Application.Run(new Form1());
will be executed after closing the form.
Please put the code of adding to list inside Form1_Load
, and add to listbox1.
private void Form1_Load(object sender, EventArgs e)
{
pradinis.Add(new Daina { vardas = @"C:\Users\Gintarė\OneDrive\KTU paskaitos\5 semestras\Multimedijos sistemų projektavimas\Projektas\Fonoteka\Media\R. City - Locked Away ft. Adam Levine.mp3", kodas = 125 });
pradinis.Add(new Daina { vardas = @"C:\Users\Gintarė\OneDrive\KTU paskaitos\5 semestras\Multimedijos sistemų projektavimas\Projektas\Fonoteka\Media\Red Hot Chili Peppers - Californication.mp3", kodas = 1269 });
pradinis.Add(new Daina { vardas = @"C:\Users\Gintarė\OneDrive\KTU paskaitos\5 semestras\Multimedijos sistemų projektavimas\Projektas\Fonoteka\Media\BWO - Sunshine In The Rain.mp3", kodas = 15 });
pradinis.Add(new Daina { vardas = @"C:\Users\Gintarė\OneDrive\KTU paskaitos\5 semestras\Multimedijos sistemų projektavimas\Projektas\Fonoteka\Media\Cloud Atlas - Sextet.mp3", kodas = 89 });
foreach (Diana d in pradinis)
listBox1.Items.Add(d.vardas);
}
The variables should be defined as Form1
's variable
public partial class Form1 : Form
{
List<Daina> pradinis = new List<Daina>();
List<Daina> antras = new List<Daina>();
...
}
And for button text changing.
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if(listBox1.SelectedIndex != -1)
button1.Text = pradinis[listBox1.SelectedIndex].kodas.ToString();
else
button1.Text = "";
}
Update:
Seems that the list antras
is for the selected songs, the code below adds the songs to antras
when button1 is clicked.
(Use Ctrl
and Shift
to select multiple items in listbox)
private void Form1_Load(object sender, EventArgs e)
{
listBox1.SelectionMode = SelectionMode.MultiExtended;
...
}
private void button1_Click(object sender, EventArgs e)
{
antras.Clear();
foreach(int index in listBox1.SelectedIndices)
antras.Add(pradinis[listBox1.SelectedIndex]);
}
Upvotes: 1