-1

winfrom を使用してボタンをクリックする場合。save filDialog を呼び出すと、「C:\Windows\system32\config\systemprofile\Desktop」が表示されます。

http://i.stack.imgur.com/wH7J9.jpg

問題は、このソフトウェアが「システム」ユーザーで実行されている必要があることです。しかし、私はファイルを保存するために SaveFileDialog を使用しています。「C:\Windows\system32\config\systemprofile\Desktop」のようなメッセージが出てきます。

問題は、「システム」ユーザーを使用すると、デフォルトのユーザープロファイルが存在せず、「デストップ」フローダーパスが見つからないことだと思います。「ユーザープロファイル」@「システム」ユーザーがないためです。

このエラーは、ボタンをクリックすると発生します。このアプリケーションは、SaveFileDialog を初期化し、左側にアイコンのショートカットを生成しようとするため、エラーが発生します。ドロップダウンボックスにも保存の問題があります。

http://i.stack.imgur.com/5Hy3S.jpg

左側のアイコンショートカットカットとドロップダウンボックスアイコンを削除する方法を知っている人は誰でも同じ問題を抱えています.

    using (var dialog = new SaveFileDialog())
        {

            dialog.DefaultExt = "txt";
            dialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
            dialog.Title = "test";                
            dialog.AutoUpgradeEnabled = false;
            dialog.InitialDirectory = Application.StartupPath;
            try
            {                   
                DialogResult result = dialog.ShowDialog(this);
                if (result == DialogResult.OK)                                       
                {
                    //do something
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.StackTrace);

            }
        }

私は非常に非常に単純なコードを使用しています。

ps。C#.net 4.0 を使用しています。vs2010 は win2008r2 で実行され、7 に勝ちます

皆さんありがとう !!!

4

1 に答える 1

0

SaveFileDialog の InitialDirectory プロパティを設定してみてください

        SaveFileDialog sfd = new SaveFileDialog();
        sfd.InitialDirectory = "c:\\yourDirectory";

この方法を使用して、my documents ディレクトリがディスク上に存在するかどうかを確認することもできます。

Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));
于 2012-05-29T10:49:54.547 に答える