C# Projekt kann nicht system.windows.forms selbst mit Referenzen findenC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 C# Projekt kann nicht system.windows.forms selbst mit Referenzen finden

Post by Anonymous »

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 system.windows.forms.dialogresult.ok kann nicht verwendet werden, da sie von System.Windows.Forms abhängig sind. Mein Code ist Folgendes: < /p>
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 Richtlinie oder eine Assembly-Referenz?) < />-> VAR-BROW-Dialog = NEW orderbrowserdialog (). type or namespace name 'DialogResult' does not exist in the namespace 'System.Windows.Forms' (are you missing an assembly reference?)
    -->if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
After I built the project and got the errors, I added the following lines in my .CSPROJ -Datei: < /p>

// more properties
true
true

< /code>
Nochmals, wieder aufbauen und gleiche Fehler.
// more items


< /code>
Aber auch hier bestehen die gleichen zwei Fehler. Ich weiß nicht, welche anderen Optionen es tun sollen.
Die Framework -Version ist v4.7.2.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post