dsusjsjjs
private void SearchTextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
SearchButton_Click(sender, e);
}
private void SearchButton_Click(object sender, RoutedEventArgs e)
{
string query = SearchTextBox.Text.Trim();
if (string.IsNullOrEmpty(query))
{
LoadDirectory(currentPath);
return;
}
if (!Directory.Exists(currentPath))
return;
try
{
var items = new List<FileItem>();
foreach (string directory in Directory.GetDirectories(currentPath, "*" + query + "*", SearchOption.AllDirectories))
{
try
{
DirectoryInfo info = new DirectoryInfo(directory);
items.Add(new FileItem
{
Name = info.Name,
Type = "Папка",
Size = "",
Date = info.LastWriteTime.ToString("dd.MM.yyyy HH:mm"),
FullPath = info.FullName,
IsDirectory = true,
Icon = "Folder"
});
}
catch { }
}
foreach (string file in Directory.GetFiles(currentPath, "*" + query + "*", SearchOption.AllDirectories))
{
try
{
FileInfo info = new FileInfo(file);
items.Add(new FileItem
{
Name = info.Name,
Type = GetFileType(info.Extension),
Size = FormatSize(info.Length),
Date = info.LastWriteTime.ToString("dd.MM.yyyy HH:mm"),
FullPath = info.FullName,
IsDirectory = false,
Icon = GetFileIcon(info.Extension)
});
}
catch { }
}
FilesListView.ItemsSource = items;
ItemsCountText.Text = $"Найдено: {items.Count}";
StatusText.Text = $"Поиск: {query}";
}
catch (UnauthorizedAccessException)
{
MessageBox.Show("Нет доступа к некоторым папкам.", "Доступ запрещён", MessageBoxButton.OK, MessageBoxImage.Warning);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
jdjdjdjd