对象的列表框我有一个列表中创建排序按属性
SongList.Add(new Song(songID, "Dirt", "Alice in Chains", "Rooster", "Rock", "02:32"));
歌曲的细节由被填充到一个列表框:
private void songTitle_TextChanged(object sender, EventArgs e)
{
i = 0;
for (; i < songTitle.Text.Length; i++)
{
songResultBox.Items.Clear();
var songResult = from song in SongList
where song.SongTitle != null && song.SongTitle.Length >= songTitle.Text.Length
&& songTitle.Text == song.SongTitle.Substring(0, i+1)
select new { sId = song.SongID, album = song.SongAlbum, artist = song.SongArtist, title = song.SongTitle,
genre = song.SongGenre, length = song.SongLength };
foreach (var item in songResult)
{
songResultBox.Items.Add(new Song(item.sId, item.album, item.artist, item.title, item.genre, item.length));
songResultBox.DisplayMember = "FullName";
songResultBox.ValueMember = "songID";
}
}
}
问题是:我如何创建一个按钮(或实际上是4),它取得了ListBox'songResultBox'和sor特德其内容的标题,专辑,艺术家,流派等
我想你应该真正排序列表框的数据源,并再次绑定列表框。这样你只处理自己的原始数据结构,而不是与ListBox控件本身 – 2013-04-09 13:54:04
列表框的数据源将在运行时动态添加。我在那里的SongList.Add仅用于测试目的。 – mansonitefirefox 2013-04-09 13:55:28
最简单的方法将是实现'Compare'功能和使用'List.Sort()' – 2013-04-09 13:59:13