这里使用ComboBox显示和记录浏览历史,用*.ini文件永久记录浏览历史,这里记录的是文件夹路径,记录文件路径也是一样的。
string inimultipleFilePath = Application.StartupPath + @"PluginCreateWaterhistoricalpath.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();