首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF - SaveFileDialog

WPF - SaveFileDialog
EN

Stack Overflow用户
提问于 2011-11-16 14:22:32
回答 4查看 39K关注 0票数 17

我正在使用WPF中的SaveFileDialog导出到excel文件中的特定位置由用户选择。但在这两者之间,当SaveFileDailog打开时,用户点击Cancel button打开对话框,然后我得到另一个对话框,它显示"Do you want to save changes you made to 'Sheet1'?",然后是"Export completed",而不是取消导出。

那么我要怎么做才能解决这个问题呢?在WPF中有没有和winForms一样的东西,比如'DialogResult'

EN

回答 4

Stack Overflow用户

发布于 2011-11-16 14:53:01

如果用户保存( ShowDialog方法返回一个可以为空的布尔值),SaveFileDialog将返回true,如果用户按下取消,则返回false/null。下面是一个示例MSDN代码,可帮助您快速入门:

代码语言:javascript
复制
// Configure save file dialog box
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.FileName = "Document"; // Default file name
dlg.DefaultExt = ".txt"; // Default file extension
dlg.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension

// Show save file dialog box
Nullable<bool> result = dlg.ShowDialog();

// Process save file dialog box results
if (result == true)
{
    // Save document
    string filename = dlg.FileName;
}
票数 51
EN

Stack Overflow用户

发布于 2011-11-16 14:31:10

当用户单击cancel时,您需要使用WPF中的MessageBox打开另一个窗口。将以下代码添加到cancel按钮事件中:

代码语言:javascript
复制
private void canceButton()
    {
        MessageBoxResult key = MessageBox.Show(
            "Are you sure you want to quit",
            "Confirm",
            MessageBoxButton.YesNo,
            MessageBoxImage.Question,
            MessageBoxResult.No);
        if (key == MessageBoxResult.No)
        {
            return;
        }
        else
        {
            Application.Current.Shutdown();
        }
    }
票数 3
EN

Stack Overflow用户

发布于 2011-11-16 14:41:12

你必须使用DialogResult Property来使用WPF中的对话框结果。有关在WPF中使用对话框结果的更多信息,请参阅WPF Dialogs and DialogResult

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8147574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档