如何使用 XML 和 C# 在 DataGridView 中保存隐藏和添加的列

How to save Hidden and Added Columns in DataGridView with XML and C#

我的应用使用带有 XML 文件的 dataGridView 来保存每列中单元格的样式和值。我添加了两个设置为 Visible = false 的额外列,当我单击 "Add Column" 时,它并没有真正添加一列,它只是将其中一个额外列设置为 Visible = true,所以我希望我的应用程序保存该设置(列的可见性),因此当我重新打开应用程序时,我留下的隐藏列仍然不可见。如果我不清楚,请告诉我,我会尽力澄清。

编辑: 我已经解决了每一列的保存问题,在之前的问题中我问过如何保存 dataGridView 中单元格的背景颜色,我得到了使用 XML, 但是,我需要将保存的单元格背景色保存在 TXT 文件中,有没有办法做到这一点?

假设您保存了一个名为 "setting.txt" 的文本文件,假设您有 5 列并且它们的可见性为“true, true, false, false, true”,那么您的文本文件将如下所示:

在您的 Form1_Load 方法中,您可以阅读它并相应地设置您的列,如下所示:

private void Form1_Load(object sender, EventArgs e)
{
   StreamReader sr = new StreamReader("setting.txt");
   string line;
   int n=0;
   while(!sr.EndOfStream)
   {
     line = sr.ReadLine();

     if(String.Equals(line, "true"))
     {
        dataGridView1.Columns[n++].Visible = true;
     }
     else if(String.Equals(line, "false"))
     {
        dataGridView1.Columns[n++].Visible = false;
     }
   }

   sr.Close();
}

然后,在任何时候,当您更改可见性时,也将其保存在文本文件的相应行中(以编程方式),以便下次启动您的应用程序时,它会出现在最后的设置中