小编WDZ*_*WDZ的帖子

更新时防止列表框滚动到顶部

我正在尝试使用 ListBox 播放列表构建一个简单的音乐播放器。将音频文件添加到播放列表时,它首先用文件名填充列表框,然后(在单独的线程上)提取 ID3 数据并用正确的艺术家 - 标题信息(很像 Winamp)覆盖文件名。

但是当 ListBox 正在更新时,它是不可滚动的,因为它总是在每个项目覆盖时跳转到顶部。

有什么办法可以防止这种情况吗?

编辑:
代码:

public Form1()
{
    //Some initialization code omitted here

    BindingList<TAG_INFO> trackList = new BindingList<TAG_INFO>();

    // The Playlist
    this.playlist = new System.Windows.Forms.ListBox();
    this.playlist.Location = new System.Drawing.Point(12, 12);
    this.playlist.Name = "playlist";
    this.playlist.Size = new System.Drawing.Size(229, 316);
    this.playlist.DataSource = trackList;
}

private void playlist_add_Click(object sender, EventArgs e)
{
    //Initialize OpenFileDialog
    OpenFileDialog opd = new OpenFileDialog();
    opd.Filter = "Music (*.WAV; *.MP3; *.FLAC)|*.WAV;*.MP3;*.FLAC|All files (*.*)|*.*";
    opd.Title = "Select Music";
    opd.Multiselect = true; …
Run Code Online (Sandbox Code Playgroud)

c# listbox winforms

4
推荐指数
1
解决办法
5793
查看次数

标签 统计

c# ×1

listbox ×1

winforms ×1