2016-05-09 13 views
0

保存]ダイアログボックスをキャンセルしたときに、私は、ユーザーが、私はこのエラーメッセージを取得保存]ダイアログボックスでキャンセルを選択したが場合は、テキストファイルを保存するためのボタンがあります。SaveFileDialogエラー

タイプ「システムの未処理の例外を.argumentexception 'がmscorlib.dllで発生しました

追加情報:空のパス名は有効ではありません。

Private sub cmdSave_Click (sender As object, e As EventArgs) Handles cmdSave.Click 
    If rtfTextEditor.Text.Length > 0 then 
     SaveFileDialog1.ShowDialog() 
     System.IO.File.WriteAllText(SaveFileDialog1.Filename, rtfTextEditor.Text) 
    End If 
End Sub 
+1

'にShowDialog()'結果を返すメソッドです。ユーザーがキャンセルした場合はテストしていません – Plutonix

答えて

3

私は、ダイアログがキャンセルされたとき​​がNothingであると仮定します。

は、ダイアログの結果をチェックする必要があります

If SaveFileDialog1.ShowDialog = DialogResult.OK Then 
    System.IO.File.WriteAllText(SaveFileDialog1.Filename, rtfTextEditor.Text) 
End If 
0

ファイルを保存しようとする前にShowDialogコマンド場合、結果を待っていません。

​​の内容は、おそらくエラーの原因になります。あなたは、ユーザーが「保存」を打つかどうかを確認する必要があります。

If SaveFileDialog1.ShowDialog() == true then 
    System.IO.File.WriteAllText(SaveFileDialog1.Filename, rtfTextEditor.Text) 
End If 
関連する問題