如何将类列表项添加到列表框中
本文关键字:列表 添加 | 更新日期: 2023-09-27 18:28:35
所以我有这个带有两个类的命名空间:
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 });
}
}
}
和其他具有表单(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)
{
}
}
}
我想在列表框1(从Fonoteka)中打印pradinis列表(从Fonoteka1),但我不知道如何(在列表框中我无法到达pradinis名单)?此外,当我点击列表框中的一首歌时,用button1我想获得歌曲代码(Daina类的int kodas)有什么帮助吗?:)
Application.Run(new Form1());
之后的代码将在关闭表单后执行。
请将添加到列表的代码放在Form1_Load
中,并添加到列表框1中。
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);
}
变量应定义为Form1
的变量
public partial class Form1 : Form
{
List<Daina> pradinis = new List<Daina>();
List<Daina> antras = new List<Daina>();
...
}
以及按钮文本更改。
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if(listBox1.SelectedIndex != -1)
button1.Text = pradinis[listBox1.SelectedIndex].kodas.ToString();
else
button1.Text = "";
}
更新:
列表antras
似乎是为所选歌曲而设的,当单击按钮1时,下面的代码会将歌曲添加到antras
中。
(使用Ctrl
和Shift
在列表框中选择多个项目)
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]);
}