Anfänger hier in C#. Ich mache das zum ersten Mal. Alle funktionierten gut, abgesehen von diesem OrdnerBrowserDialog und system.windows.Forms.dialogresult.ok kann nicht verwendet werden, da sie von system.Windows.Forms .
using System.Windows.Forms;
using Microsoft.Win32;
using System;
using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
namespace DownloadCleaner
{
public partial class MainWindow : Window
{
public ObservableCollection Files { get; set; } = new ObservableCollection();
public MainWindow()
{
InitializeComponent();
FilesGrid.ItemsSource = Files;
LoadFiles(GetDefaultFolder("Downloads"));
}
private string GetDefaultFolder(string name)
{
string basePath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
return Path.Combine(basePath, name);
}
private void LoadFiles(string folderPath)
{
Files.Clear();
if (!Directory.Exists(folderPath))
return;
var fileInfos = new DirectoryInfo(folderPath).GetFiles()
.Select(f => new FileItem
{
Name = f.Name,
SizeMB = Math.Round(f.Length / (1024.0 * 1024.0), 2),
LastAccessed = f.LastAccessTime,
CreationTime = f.CreationTime,
DaysUnused = (DateTime.Now - f.LastAccessTime).TotalDays,
FullPath = f.FullName
})
.OrderByDescending(f => f.DaysUnused);
foreach (var file in fileInfos)
Files.Add(file);
}
private void FolderSelector_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var selected = (FolderSelector.SelectedItem as ComboBoxItem)?.Content.ToString();
if (selected == "Choose another folder...")
{
using var dialog = new FolderBrowserDialog();
dialog.Description = "Select a folder to scan";
if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
LoadFiles(dialog.SelectedPath);
}
else if (!string.IsNullOrEmpty(selected))
{
LoadFiles(GetDefaultFolder(selected));
}
}
private void DeleteFile_Click(object sender, RoutedEventArgs e)
{
if (sender is System.Windows.Controls.Button btn && btn.Tag is string path)
{
try
{
File.Delete(path);
var item = Files.FirstOrDefault(f => f.FullPath == path);
if (item != null) Files.Remove(item);
}
catch (Exception ex)
{
System.Windows.MessageBox.Show($"Error deleting file: {ex.Message}");
}
}
}
}
public class FileItem
{
public string Name { get; set; }
public double SizeMB { get; set; }
public DateTime LastAccessed { get; set; }
public DateTime CreationTime { get; set; }
public double DaysUnused { get; set; }
public string FullPath { get; set; }
}
}
< /code>
Die beiden Fehler, die ich erhalte, sind: < /p>
Der Typ- oder Namespace-Name 'OrdnerBrowserDialog' konnte nicht gefunden werden (fehlt Ihnen eine Verwendung von Anweisungen oder eine Assembly-Referenz?) OrderBrowserDialog (); < /code> < /p>
Der Typ- oder Namespace-Name 'Dialogresult' existiert nicht im Namespace 'System.windows.Forms' (Fehlen Sie eine Assembly-Referenz?) < /P>
< /br /
Anfänger hier in C#. Ich mache das zum ersten Mal. Alle funktionierten gut, abgesehen von diesem OrdnerBrowserDialog und system.windows.Forms.dialogresult.ok kann nicht verwendet werden, da sie von system.Windows.Forms .[code]using System.Windows.Forms; using Microsoft.Win32; using System; using System.Collections.ObjectModel; using System.IO; using System.Linq; using System.Windows; using System.Windows.Controls;
namespace DownloadCleaner { public partial class MainWindow : Window { public ObservableCollection Files { get; set; } = new ObservableCollection();
public MainWindow() { InitializeComponent(); FilesGrid.ItemsSource = Files; LoadFiles(GetDefaultFolder("Downloads")); }
var fileInfos = new DirectoryInfo(folderPath).GetFiles() .Select(f => new FileItem { Name = f.Name, SizeMB = Math.Round(f.Length / (1024.0 * 1024.0), 2), LastAccessed = f.LastAccessTime, CreationTime = f.CreationTime, DaysUnused = (DateTime.Now - f.LastAccessTime).TotalDays, FullPath = f.FullName }) .OrderByDescending(f => f.DaysUnused);
foreach (var file in fileInfos) Files.Add(file); }
private void FolderSelector_SelectionChanged(object sender, SelectionChangedEventArgs e) { var selected = (FolderSelector.SelectedItem as ComboBoxItem)?.Content.ToString();
if (selected == "Choose another folder...") { using var dialog = new FolderBrowserDialog(); dialog.Description = "Select a folder to scan";
if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) LoadFiles(dialog.SelectedPath); } else if (!string.IsNullOrEmpty(selected)) { LoadFiles(GetDefaultFolder(selected)); } }
private void DeleteFile_Click(object sender, RoutedEventArgs e) { if (sender is System.Windows.Controls.Button btn && btn.Tag is string path) { try { File.Delete(path); var item = Files.FirstOrDefault(f => f.FullPath == path); if (item != null) Files.Remove(item); } catch (Exception ex) { System.Windows.MessageBox.Show($"Error deleting file: {ex.Message}"); } } } }
public class FileItem { public string Name { get; set; } public double SizeMB { get; set; } public DateTime LastAccessed { get; set; } public DateTime CreationTime { get; set; } public double DaysUnused { get; set; } public string FullPath { get; set; } } } < /code> Die beiden Fehler, die ich erhalte, sind: < /p>
Der Typ- oder Namespace-Name 'OrdnerBrowserDialog' konnte nicht gefunden werden (fehlt Ihnen eine Verwendung von Anweisungen oder eine Assembly-Referenz?) OrderBrowserDialog (); < /code> < /p>
Der Typ- oder Namespace-Name 'Dialogresult' existiert nicht im Namespace 'System.windows.Forms' (Fehlen Sie eine Assembly-Referenz?) < /P> < /br /
Anfänger hier in C#.
Ich wollte mit Hilfe von WPF ein Projekt in C# machen. Ich mache das zum ersten Mal. Alle funktionierten gut, abgesehen von diesem OrdnerBrowserDialog und...
Ich habe ArrayList, die 4 Elemente enthält. Jedes Element ist von Typliste . Ich versuche, das erste Element von ArrayList mit dem folgenden Code zu erhalten. Es führt jedoch Fehler
Ich bin ein Anfänger in C#, also könnten Sie mir helfen. Zuerst erhalte ich einige Daten von einem RS422-zu-USB-Konverter über einen COM-Port und möchte nun über den rechten COM-Port die Grafik auf...
Zuerst ist die Fehlermeldung, die ich empfange, wie folgt: Der innere Handler wurde nicht eingestellt. Wenn meine Codebasis beispielsweise einen Aufruf an die API tätigt und wiederum einen 401...
Visual Studio Community 2022 erlaubt mir nicht, ein neues Windows Forms App (NET) -Projekt zu erstellen. Ich habe nur das .NET -Framework, aber das erlaubt mir nicht, .csproj zu öffnen. Ich weiß...