目前我在listview上使用自定义排序器,每次单击FIRST列时我都可以对listview进行排序,但不会按其他列排序.
SortStyle:变量,用于确定它是Ascending Sort还是Descending.
if (e.Column == 0)
{
if (SortStyle == 0)
{
List.ListViewItemSorter = customSortDsc;
SortStyle = 1;
}
else
{
List.ListViewItemSorter = customSortAsc;
SortStyle = 0;
}
}
Run Code Online (Sandbox Code Playgroud)
在为第一列排序时,这可以正常工作,但如果您要在任何其他列上执行此操作,它将只按第一列排序.有没有办法按列点击排序?
目前我正在为自己制作一个迷你音乐播放器/组织者.但是,在使用列表视图时,它按字母顺序排序,并且不会忽略"The"和"A":
应该:
它全部是从一个多维数组加载的,我甚至尝试过滤掉"The"和"A",然后显示真实姓名(来自不同的数组),但它只是对显示的名称进行排序(包括"The"和"A")
我的路径有点问题:
"D:\\Music\\DJ Ti%C3%ABsto\\Tiesto\\Adagio For Strings (Spirit of London).mp3"
"D:\\Music\\Dj Tiësto\\Tiesto\\Adagio For Strings (Spirit of London).mp3"
Run Code Online (Sandbox Code Playgroud)
目前,当它将该路径发送到我的音频库时,它无法打开路径.(它崩溃的原因是试图将-1分配给轨迹栏......但它无关紧要).
所以我想知道,无论如何都要阻止C#用%[code]切换特殊字符?我为"["和"]"做了一个.Replace,但我不必查找每个特殊字符,并添加一行代码来防止它.有没有办法解决?
我正在尝试从目录中加载一堆文件,并在加载时显示进度条状态,以及显示正在处理哪个文件的标签.
private void FileWorker_DoWork(object sender, DoWorkEventArgs e)
{
for (int i = 0; i < Files.Length; i++)
{
Library.AddSong(Files[i]);
FileWorker.ReportProgress(i);
}
}
Run Code Online (Sandbox Code Playgroud)
目前它正确处理所有内容,并且进度条正确显示状态,但是当我尝试更改标签的文本(lblfile.text)时,它表示它无法更改不同线程上的控件.有没有办法从Fileworker更改lblfile.text的文本?
我有一个进度条来显示将歌曲加载到库中的程序的状态.
foreach (Song s in InitializeLibrary())
{
Library.AddSong(s);
pBar.Value++;
pBar.Update();
}
Run Code Online (Sandbox Code Playgroud)
InitializeLibrary()只是一个返回List的函数
问题是进度条在某个点(例如20%)之后停止"移动",而值仍然增加.有没有办法让它100%更新?