记录文件浏览历史路径

时间:2021-04-06 16:29:40

这里使用ComboBox显示和记录浏览历史,用*.ini文件永久记录浏览历史,这里记录的是文件夹路径,记录文件路径也是一样的。

 string inimultipleFilePath = Application.StartupPath + @"\Plugin\CreateWaterhistoricalpath.ini";//*.ini文件的存放路径

 List<string> listHistory = new List<string>();//用于临时存储浏览历史

//在初始化窗体时遍历*.ini文件的内容,写到ComboBox中


if (File.Exists(inimultipleFilePath))
{
      listHistory.Clear();
      Console.WriteLine();
      StreamReader sr = new StreamReader(inimultipleFilePath, Encoding.Default);
      while (sr.Peek() >= 0)
      {
         string history = sr.ReadLine();
         listHistory.Add(history);
         comboBox.Items.Add(history);
      }
      sr.Close();
      sr.Dispose();
}

 

//记录历史路径

//临时记录路径,因为每次记录历史路径到*.ini中,ComboBox都不会实时添加,所以最好临时给它添加一次路径
if (!comboBox.Items.Contains(Path))
this.comboBox.Items.Add(Path);
//记录路径
int index = listHistory.IndexOf(comboBox.Text);
if (index < 0)
{
     listHistory.Insert(0, comboBox.Text);
     if (listHistory.Count > 5) listHistory.RemoveAt(5);
}
if (index > 0)
{
   listHistory.RemoveAt(index);//如果浏览记录已经存在,则将它置顶
   listHistory.Insert(0, cmbDirectory.Text);
}
StreamWriter sw = new StreamWriter(inimultipleFilePath, false, Encoding.Default);
foreach (string history in listHistory)
{
     sw.WriteLine(history);
}
sw.Close();
sw.Dispose();