需要帮助使文件导出功能记住用户选择的路径
本文关键字:用户 选择 路径 功能 帮助 文件 | 更新日期: 2023-09-27 17:55:32
我的程序中有一个导出数据的函数。导出效果很好,但我遇到了一些问题:当用户单击"导出"时,他们会看到一个文件夹浏览器,以选择要导出到硬盘驱动器上的位置。浏览器最初启动时所有硬盘驱动器/文件夹都像它们应该的那样折叠,但我无法弄清楚如何使程序记住用户选择的位置,以便下次他们想要导出时,它会自动打开到该位置,而不是再次打开所有内容都折叠。我想,我只是在逻辑上遇到了问题。有人有什么提示吗?
另外,为了澄清起见,我试图让它仅在会话期间记住该位置,而不是像永久在寄存器上那样。
到目前为止,这是我的导出功能,如果您认为这会有所帮助:
private void Export(int formatVersion, bool pureXmlDriver)
{
if (Device != null)
{
Utilities.StripShortNameFromLongNames(Device);
using (var folderBrowser = new FolderBrowserDialog())
{
folderBrowser.Description = Resources.SelectExportFolder;
if (folderBrowser.ShowDialog() == DialogResult.OK)
{
string selectedFolder = folderBrowser.SelectedPath;
try
{
Cursor = Cursors.WaitCursor;
HandleExport(formatVersion, pureXmlDriver, selectedFolder);
}
finally
{
Cursor = Cursors.Default;
}
}
}
}
}
这应该可以做到。您只需要一个类字段来保留最后一个值。
public class MyClass
{
private string selectedPath = "";
public void Export(int formatVersion, bool pureXmlDriver)
{
if (Device != null)
{
Utilities.StripShortNameFromLongNames(Device);
using (var folderBrowser = new FolderBrowserDialog())
{
folderBrowser.Description = Resources.SelectExportFolder;
folderBrowser.SelectedPath = selectedPath;
if (folderBrowser.ShowDialog() == DialogResult.OK)
{
selectedFolder = folderBrowser.SelectedPath;
try
{
Cursor = Cursors.WaitCursor;
HandleExport(formatVersion, pureXmlDriver, selectedFolder);
}
finally
{
Cursor = Cursors.Default;
}
}
}
}
}
}