2

このmsdnの記事によると、FileDialogで使用されるInitialDirectoryプロパティのソースの1つは次のとおりです。

プログラムで以前に使用されたパス。おそらく最後のディレクトリまたはファイル操作から保持されます。

..。

したがって、フォルダxから最初のファイルを選択した場合、次にファイルを選択しようとすると、フォルダxが選択された状態でFileDialogが開きます(そこに移動する必要がなくなります)。

メモ帳で遊んでみると、ファイルを開いたり、ファイルを保存したり、ファイルを開いたり、独自のダイアログが表示される「MicrosoftXPSDocumentWriter」で印刷したりする場合でも同じように見えます。

だから私の質問は、この値がダイアログ間でどこに保存されているのかということです。私はそれが何であるかを見て、潜在的にそれを変えることができるようになりたいですか?変更したい特定の領域は、独自のダイアログを表示する「MicrosoftXPSDocumentWriter」プリンターです。したがって、initalDirectory値を設定するほど簡単ではありません。

4

2 に答える 2

1

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\レジストリの( )のどこかに保存されますLastVisitedPidlMRU

于 2012-08-20T12:55:07.647 に答える
0

このリンクを見てください: MRUの場所はあなたが見ているものです!

アクセスする方法は次のとおりです。

var openFileDialog1 = new OpenFileDialog();
string path = openFileDialog1.InitialDirectory;
// you can change path if you want
openFileDialog1.InitialDirectory = path;
// after you are donw you can display you dialog
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
      // do something
}

もう1つの方法は、アプリケーションの現在の作業ディレクトリを設定するDirectory.SetCurrentDirectoryメソッドを使用することです。

また、MicrosoftのWebサイトから、レジストリの次の場所に保存されます。

//The MRU lists for Windows Explorer-style dialog boxes are stored by file type for each user in the following registry key:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU

お役に立てれば

于 2012-08-20T12:15:05.653 に答える