2017-12-02 4 views
-1

Ich habe ein Problem mit einer C# Win Forms-Anwendung, die ich mache.
In dem Programm verwende ich eine .txt Datei, um meine Daten zu speichern - es ist wie eine kleine Datenbank -.
Also ich möchte die Datei einmal öffnen und auch einmal schließen, wenn ich das Programm beende.
Mein Problem ist: Ich weiß nicht, wie Sie die Daten in den .txt Dateien an alle Formulare im Programm übergeben.
Hinweis: Ich möchte die .txt Dateien in Form1 öffnen und die Daten zu allen anderen Formen < Formular n> übergeben.Freigeben von Daten aus Textdatei zwischen mehreren Formularen

+0

Sie können eine statische Griff an der Datei vornehmen und nennen es aus alles was du willst. Es ist nicht der sauberste Ansatz. Sie sollten einige Beispiele für Ihren Code anzeigen. – farbiondriven

+0

Siehe meine zwei Formular-Projekt: https://stackoverflow.com/questions/34975508/reach-control-from-another-page-asp-net – jdweng

+0

Sie können auch die Daten in den Konstruktor der neuen Form übergeben, die Sie initialisieren . Wie @farbiondriven's Vorschlag, nicht der sauberste aber funktioniert –

Antwort

0

Eine gute Idee wäre, eine statische Klasse zu erstellen, die die Daten in der Datei verwaltet, so dass Sie sie überall verwenden können. so etwas wie dieses

würde der Code sein:

public static FileManager 
{ 

    // You can change this to a Dictionary or whatefver you need 
    public static readonly List<string> Data { get; } 


    // Static constructor, will be called once 
    // Here you will populate your data 
    static FileManager() 
    { 
     Data = new List<string>(); 
     // Read from file and add data to Data, assuming the data is lines 
    } 

} 

Und dann in irgendeiner Form oder Klasse, benutzen Sie einfach die FileManager.Data Eigenschaft :)

+0

https://ideone.com/cnSEs3 das ist mein Code Ich weiß nicht warum, aber es funktioniert nicht tat ich etwas falsch? @Haitam –

+0

Sie haben vergessen, "using System.Collections.Generic;" – Haytam

+0

Es ist enthalten. –

Verwandte Themen