내 프로그램에 데이터를 내보내는 기능이 있습니다. 내보내기는 잘 작동하지만 문제가 있습니다. 사용자가 내보내기를 클릭하면 하드 드라이브에서 내보낼 위치를 선택할 수있는 폴더 브라우저가 표시됩니다. 브라우저는 처음 에 모든 하드 드라이브 / 폴더가 축소 된 상태로 시작되지만 프로그램이 사용자가 선택한 위치를 기억하도록 만드는 방법을 알 수 없으므로 다음에 내보낼 때 자동으로 모든 것이 무너진 상태에서 다시 열리지 않고 해당 위치로 열립니다. 논리에 문제가있는 것 같습니다. 누구나 팁이 있습니까?
또한 설명을 위해 등록부에 영구적으로 표시하지 않고 세션 기간 동안 만 위치를 기억하도록 노력하고 있습니다.
이것이 도움이 될 것이라고 생각한다면 지금까지 내 내보내기 기능은 다음과 같습니다.
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;
}
}
}
}
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다