private void InputTx_TextChanged(object sender, EventArgs e) { previousFilterTime = (DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds; if (string.IsNullOrWhiteSpace(this.FilterString)) { new Thread(() => { SDirs.Clear(); SFlists.Clear(); var Flist = RecentlyFileHelper.GetRecentlyFiles(); SDirs = Flist.Where(item => Directory.Exists(item)).Select(item => new string[] { new DirectoryInfo(item).Name, item }).ToList(); SFlists = Flist.Where(item => File.Exists(item)).Select(item => new string[] { new FileInfo(item).Name, item }).ToList(); SFlists = !sort ? SFlists.OrderByDescending(item => new FileInfo(item[1]).LastWriteTime).ToList() : SFlists.OrderBy(item => new FileInfo(item[1]).LastWriteTime).ToList(); updatefile = true; }).Start(); } }
private void CheckAndSearch() { tInputChecker.Stop(); if (firstOpen) { firstOpen = false; new Thread(() => { SDirs.Clear(); SFlists.Clear(); var Flist = RecentlyFileHelper.GetRecentlyFiles(); SDirs = Flist.Where(item => Directory.Exists(item)).Select(item => new string[] { new DirectoryInfo(item).Name, item }).ToList(); SFlists = Flist.Where(item => File.Exists(item)).Select(item => new string[] { new FileInfo(item).Name, item }).ToList(); SFlists = !sort ? SFlists.OrderByDescending(item => new FileInfo(item[1]).LastWriteTime).ToList() : SFlists.OrderBy(item => new FileInfo(item[1]).LastWriteTime).ToList(); updatefile = true; }).Start(); } var timeNow = (DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds; if (!string.IsNullOrWhiteSpace(this.FilterString)) { if (previousFilterTime != 0 && timeNow > previousFilterTime + 0.1) { new Thread(() => { SDirs.Clear(); SFlists.Clear(); (SDirs, SFlists) = boLoSearch.getRet(FilterString); SFlists = !sort ? SFlists.OrderByDescending(item => new FileInfo(item[1]).LastWriteTime).ToList() : SFlists.OrderBy(item => new FileInfo(item[1]).LastWriteTime).ToList(); updatefile = true; }).Start(); previousFilterTime = 0; } } if (updatefile) { ShowSearchResult(); updatefile = false; } tInputChecker.Start(); }