Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在多个表单之间共享文本文件中的数据_C#_Winforms_File - Fatal编程技术网

C# 在多个表单之间共享文本文件中的数据

C# 在多个表单之间共享文本文件中的数据,c#,winforms,file,C#,Winforms,File,我对正在制作的C#Win表单应用程序有问题。 在程序中,我使用一个.txt文件来存储我的数据,就像一个小数据库一样。 因此,我想打开文件一次,并在终止程序时关闭它一次。 我的问题是:我不知道如何将.txt文件中的数据传递给程序中的所有表单。 注意:我想在Form1中打开.txt文件,并将数据传递给所有其他表单一个好主意是创建一个静态类来管理文件中的数据,这样您就可以在任何地方使用它 代码如下所示: public static FileManager { // You can chang

我对正在制作的C#Win表单应用程序有问题。
在程序中,我使用一个.txt文件来存储我的数据,就像一个小数据库一样。
因此,我想打开文件一次,并在终止程序时关闭它一次。
我的问题是:我不知道如何将.txt文件中的数据传递给程序中的所有表单。

注意:我想在Form1中打开.txt文件,并将数据传递给所有其他表单

一个好主意是创建一个静态类来管理文件中的数据,这样您就可以在任何地方使用它

代码如下所示:

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
    }

}
公共静态文件管理器
{
//你可以把它改成字典或任何你需要的东西
公共静态只读列表数据{get;}
//静态构造函数,将被调用一次
//在这里,您将填充数据
静态文件管理器()
{
数据=新列表();
//从文件中读取数据并将数据添加到数据中,假设数据为行
}
}

然后在任何形式或类中,只需使用
FileManager.Data
property:)

您就可以对该文件创建一个静态句柄,并从任意位置调用它。这不是最干净的方法。您应该展示一些代码示例。请参阅我的双表单项目:您还可以将数据传递到初始化的任何新表单的构造函数中。就像@farbiondriven的建议,不是最干净的,但会起作用这是我的代码我不知道为什么但它不起作用我做错什么了吗@Haitam你忘了添加“using System.Collections.Generic”,它已经包含在内了。你的表意符说不是这样的,错误不是这样吗?我只给你展示了函数的模板,程序要大得多