所以我有两个分支的命名空间:
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)
{
}
}
}
我想在listbox1(来自Fonoteka)中打印pradinis列表(来自Fonoteka1),但我不知道如何(在列表框中我无法达到pradinis列表)?此外,当我从列表框中获取一首歌时,使用button1我想获得那些歌曲代码(来自Daina类的int kodas) 有帮助吗? :)
答案 0 :(得分:1)
关闭表单后将执行Application.Run(new Form1());
之后的代码。
请在Form1_Load
内添加添加到列表中的代码,然后添加到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);
}
变量应定义为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
适用于所选歌曲,下面的代码会在点击button1时将歌曲添加到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]);
}