2017-11-18 2 views
-2

Ich schreibe ein kleines Programm mit Windows Form Application in C#, .Net-Plattform. Nehmen wir an, ich habe eine Mal-App erstellt und möchte das Bild, das ich gemacht habe, speichern. Wie kann ich die vorgenommenen Änderungen speichern und wieder öffnen, um einige Teile mit meinem Programm zu ändern? Wie das Standard-Paint-Programm in Windows möchte ich es speichern und es wieder öffnen. Es muss nicht unbedingt ein Malprogramm oder eine txt-Datei sein. Wie kann ich die Arbeit, die ich in einem benutzerdefinierten Programm gemacht habe, speichern und mit der Erweiterung meines Programms speichern (sagen wir mal .paint).So speichern/öffnen Sie ein benutzerdefiniertes Programm mit einer benutzerdefinierten Erweiterung in C# .net?

+1

Haben Sie selbst geforscht oder etwas selbst gemacht? – Sefe

+0

Diese Frage ist nicht spezifisch. Das Speichern und Öffnen einer Datei in .NET sollte sehr einfach sein. Es gibt den System.IO-Namespace, aber was Sie in die Datei schreiben wollen, ist die eigentliche Frage. Sie können Objekt als (Binär, XML, JSON) serialisieren oder CSV-Dateien erstellen, .xlsx, .docx, pdf, etc ... Sie können Ihre eigene Dateistruktur erfinden. Wenn Sie Bilder speichern möchten, verwenden Sie das System.Drawing-Namespace-Image-Objekt, das über die Save() -Methode verfügt. Also ich schlage vor, Sie zu entscheiden, was Sie speichern möchten, und stellen Sie die Frage erneut. Weil es jetzt keine gute Antwort auf diese Frage gibt. – Major

+0

Autocad übernehmen. Wenn Sie Ihre Arbeit erledigen und speichern, wird sie als .cad gespeichert und das Logo des Softwareunternehmens wird in der Datei angezeigt. Wenn Sie auf die zu öffnende Datei klicken, wird sie der AutoCAD-Software zugeordnet. Ich habe recherchiert, konnte aber nichts im Internet finden. Wenn Sie können, teilen Sie es bitte mit mir. Vielen Dank – arda30

Antwort

0

zwei Optionen:

  1. ein Installationsprogramm schreiben, die Ihre Dateierweiterung mit dem Programm zuordnen können.
  2. Auf dem Programmstart überprüfen Windows-Registrierung, wenn Ihre Dateierweiterung mit dem Programm oder nicht zugeordnet ist, wenn nicht, dann sich so beim nächsten Mal Benutzer einfach assoziieren Sie auf die Datei und das Programm öffnet sich automatisch

Beispielcode:

public static void SetAssociation(string Extension, string KeyName, string OpenWith, string FileDescription) 
{ 
    CurrentUser = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\" + Extension, true); 
    CurrentUser.DeleteSubKey("UserChoice", false); 
    CurrentUser.Close(); 

    // Tell explorer the file association has been changed 
    SHChangeNotify(0x08000000, 0x0000, IntPtr.Zero, IntPtr.Zero); 
} 

[DllImport("shell32.dll", CharSet = CharSet.Auto, SetLastError = true)] 
public static extern void SHChangeNotify(uint wEventId, uint uFlags, IntPtr dwItem1, IntPtr dwItem2); 

Sie benötigen Administratorrechte, um dieses Programm auszuführen.

Verwandte Themen