我有一個「保存」按鈕,所以當用戶點擊時,它會做一個xml文件保存(xml序列化)。這裏使用了savefiledialog,當我按下cancel而沒有選擇任何文件時會出現「參數異常」,並說「空路徑名稱不合法」。我如何處理這個異常?即使沒有在savefiledialog中選擇任何路徑,我也希望表單保持不變。非常感謝。空路徑名稱不合法
我savefiledialog片段:
private void SaveButton_Click(object sender, RoutedEventArgs e)
{
string savepath;
SaveFileDialog DialogSave = new SaveFileDialog();
// Default file extension
DialogSave.DefaultExt = "txt";
// Available file extensions
DialogSave.Filter = "XML file (*.xml)|*.xml|All files (*.*)|*.*";
// Adds a extension if the user does not
DialogSave.AddExtension = true;
// Restores the selected directory, next time
DialogSave.RestoreDirectory = true;
// Dialog title
DialogSave.Title = "Where do you want to save the file?";
// Startup directory
DialogSave.InitialDirectory = @"C:/";
DialogSave.ShowDialog();
savepath = DialogSave.FileName;
DialogSave.Dispose();
DialogSave = null;
...
using (Stream savestream = new FileStream(savepath, FileMode.Create))
{
XmlSerializer serializer = new XmlSerializer(typeof(FormSaving));
serializer.Serialize(savestream, formsaving);
}
}
發生在這條線我的參數異常:
using (Stream savestream = new FileStream(savepath, FileMode.Create))
{
XmlSerializer serializer = new XmlSerializer(typeof(FormSaving));
serializer.Serialize(savestream, formsaving);
}
而不是調用'DialogSave.Dispose()'我會把它放入'using()'語句 – Oliver 2011-02-28 08:33:14
@Oliver - 我同意你的意見。我編寫了我的代碼,以不對OP代碼作出太多更改,但是在方法開始時使用SaveFileDialog就是要走的路。 – 2011-02-28 08:34:51
我正在使用wpf,並且似乎存在與「DialogResult.OK」的問題,我收到此錯誤:'System.Nullable'不包含'OK'的定義,也沒有接受第一個參數的擴展方法'OK'的類型'System.Nullable '可以找到(你是否缺少使用指令或程序集引用?) –
jeremychan
2011-02-28 08:39:06