首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

一个ListBox的Items显示有关问题

2012-01-21 
一个ListBox的Items显示问题现有一长度为2的数组string[]Music,和一个ListBox控件我要将Music[0]的值做为L

一个ListBox的Items显示问题
现有一长度为2的数组string[]   Music,和一个ListBox控件
我要将Music[0]的值做为ListBox中的Item名字(音乐名)给显示出来
Music[1]的值做为该Item的一个“属性”(音乐地址)。
例如:ListBox中有一Item名为“吻别”,双击它之后响应事件函数,在事件函数中读取这个Item的Music[1]“属性”值,这个值是“吻别”的路径。

我的问题是,在添加项目时,如果用ListBox.Items.Add(Music),则ListBox显示的都是String[]   Array,但可以音乐播放,因为该Item有Music[1]。
如果用AddRang(Music),那么“吻别”和路径都会以string的类型被显示出来,那么在事件响应函数中读取的时候就会发生类型不一致string[]   to   string的问题。当然路径也不该被显示出来。

请问有没有什么解决方案可以达到我的目的呢?

[解决办法]
应该把名字和链接拆开,一个string[] names放名字,另外一个string[] urls放链接
两个数组是对应的
把names显示在listbox上面
private void lbPlayList_DoubleClick(object sender, EventArgs e)
{
int index = lbPlayList.SelectedIndex;
axWindowsMediaPlayer1.URL = urls[index];
}
[解决办法]
自己写一个2个成员的类不就得了吗~~~~楼主还是用vb的思想在用.net~~~

class SongFile{
public string Name;
public string Path;
public SongFile(string Name,string Path){
Name=name;
Path=path;
}
public override string ToString(){
return Name;
}
}
//----------------
SongFile sf=new SongFile( "吻别 ",@ "C:\吻别.mp3 ");
listbox1.Items.Add(sf)
[解决办法]
private string _name;
private string _No;
public string Name{
get{return _name;}}
set{_name=value;}
public string No{
get{return _No;}
set{_No=value;}
}
[解决办法]
private string [] Music = { "aa.mp3 ", "bb.mp3 "};
listBox1.DataSource = Music;

热点排行