0

Windows API メソッド呼び出しを使用して、SaveFileDialog でファイル置換ダイアログのポップを停止したいと考えています。ユーザーが指定したファイル名で新しいフォルダーを作成するため、これを実行したいだけなので、同じ名前の別のファイルが存在することは問題ではありません...

実際には、Windows関数を使用してsavefiledialogを作成します-GetSaveFileName coz hookProcを使用してダイアログをカスタマイズしました...誰かが知っていれば答えてください...

ありがとう

4

6 に答える 6

4

これを試して:

SaveFileDialog dialog = new SaveFileDialog();
dialog.OverwritePrompt = false; //Removes warning
dialog.ShowDialog();
于 2011-04-01T11:46:29.293 に答える
3

あなたが求めていることを誤解している場合は、これを更新します(現在のコードを提供していただければ申し訳ありませんが、次のことができます:

yourSaveFileDialog.OverwritePrompt = false;

上書きプロンプトを抑制する

于 2011-04-01T11:47:57.207 に答える
3

実際にユーザーにフォルダーを選択してもらい、ファイルで埋めることができるように思えます。その場合、FolderBrowserDialog を使用する必要があります。ユーザーがフォルダを選択できるように設計されています。

于 2011-04-01T12:32:34.030 に答える
2

実際、私はついに私の質問の解決策を見つけることができました。誰かにとって役立つかもしれないと思うので、ここに置きたいと思います...

GetSaveFileName Windows 関数を使用して SaveFileDialog を作成する場合、savefiledialog の作成に必要な詳細を含む OPENFILENAME 構造体 (ofn と見なす) への参照を送信する必要があります。この構造体では、必要なものにフラグを設定する必要があるため、上書きプロンプトを停止したい場合は、フラグを設定しないでください。

フラグ設定は ofn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_NOTESTFILECREATE | OFN_ENABLEHOOK | OFN_HIDEREADONLY;

それ以外の

ofn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_NOTESTFILECREATE | OFN_ENABLEHOOK | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;

于 2011-04-02T15:15:47.883 に答える
0

.NET SDK から:

SaveFileDialog クラス

...

プロパティ

...

OverwritePrompt - ユーザーが既に存在するファイル名を指定した場合に、[名前を付けて保存] ダイアログ ボックスに警告を表示するかどうかを示す値を取得または設定します。

ダイアログのプロパティを false に設定して、上書きプロンプトを無効にすることができます。

于 2011-04-01T11:46:26.237 に答える
0

次のように OverwritePrompt プロパティを false に設定できます。

 SaveFileDialog dialog = new SaveFileDialog();
 dialog.OverwritePrompt = false;
 dialog.ShowDialog();
于 2011-04-01T11:51:19.743 に答える