名前を付けて保存 ダイアログ(コモンダイアログ) C#

  • デル株式会社
  • 前回、「ファイルを開くダイアログ」を書いたので、
    今回は、

    名前を付けて保存」ダイアログ

    の使い方。

    Visual Studioのツールボックスから、

    SaveFileDialog

    を選択して貼り付ける。

    SaveFileDialog貼り付け

    SaveFileDialog貼り付け

    SaveFileDialog貼り付け後

    SaveFileDialog貼り付け後

    んで、ソース書いてみる。
    プロパティの詳細は、MSのページで確認。
    SaveFileDialog クラス

    private void button1_Click(object sender, EventArgs e)
    {
        DialogResult dlgRet; //ダイアログの戻り値
    
        //ファイル名の初期値を設定
        this.saveFileDialog1.FileName = "Test.txt";
                                       
        //上書き確認をするか?
        this.saveFileDialog1.OverwritePrompt = true;
    
        //ダイアログのファイルフィルタ
        this.saveFileDialog1.Filter = "テキスト ファイル (*.txt)|*.txt|すべてのファイル (*.*)|*.*";
    
        //ダイアログの初期表示ディレクトリ
        this.saveFileDialog1.InitialDirectory = @"C:\TEST";
    
        //名前を付けて保存ダイアログボックスを表示する。
        dlgRet = this.saveFileDialog1.ShowDialog();
    
        //キャンセルボタン選択の場合は、処理終了
        if (dlgRet == DialogResult.Cancel)
        {
            return;
        }
    
        MessageBox.Show("保存先ファイルパス:" + this.saveFileDialog1.FileName,"メッセージ");
    }
    
    // 自己責任で。
    //
    //
    

    実行結果

    SaveFileDialog

    SaveFileDialog

    ちなみに、コントロール使用しないで、
    保存ダイアログを使用する場合は、下記のコード。

    private void button1_Click(object sender, EventArgs e)
    {
        DialogResult dlgRet; //ダイアログの戻り値
        
        SaveFileDialog sFileDlg = new SaveFileDialog();
    
        //ファイル名の初期値を設定
        sFileDlg.FileName = "Test.txt";
                                       
        //上書き確認をするか?
        sFileDlg.OverwritePrompt = true;
    
        //ダイアログのファイルフィルタ
        sFileDlg .Filter = "テキスト ファイル (*.txt)|*.txt|すべてのファイル (*.*)|*.*";
    
        //ダイアログの初期表示ディレクトリ
        sFileDlg.InitialDirectory = @"C:\TEST";
    
        //名前を付けて保存ダイアログボックスを表示する。
        dlgRet = sFileDlg.ShowDialog();
    
        //キャンセルボタン選択の場合は、処理終了
        if (dlgRet == DialogResult.Cancel)
        {
            return;
        }
    
        MessageBox.Show("保存先ファイルパス:" + sFileDlg.FileName,"メッセージ");
    }
    

    どっちでもいいか。。

    関連記事

    ページ上部へ戻る