gpt4 book ai didi

c# - 当 SaveFileDialog 被取消时,我该如何处理 "do something"?

转载 作者:行者123 更新时间:2023-12-03 04:19:20 25 4
gpt4 key购买 nike

注意:答案 in this question已经过时了。


所以,我有一个保存对话框:

...
SaveFileDialog sfd = new SaveFileDialog();
sfd.ShowDialog();

// SaveFileDialog.[Whatever] - Init code basically.

if (sfd.DialogResult == DialogResult.OK)
{
// Definitely do something.
Console.Print("File selected.");
}
if (sfd.DialogResult == DialogResult.Abort)
{
// Maybe the opposite of the above?
Console.Print("File selection Cancelled");
}
if ( ... ) { }
and so on.

但是... SaveFileDialog.DialogResult 已被事件取代...

唯一可用的事件是 SaveFileDialog.FileOKSaveFileDialog.DisposeSaveFileDialog.HelpRequest

当用户单击取消而不是完成事件(单击保存)时,如何触发事件(或移至代码行)?

我希望根据用户是否取消或成功选择要保存的文件位置来进行分支。

最佳答案

使用 DialogResult 并未被弃用,而且这些事件也不是新事物。
要执行取消操作,您可以创建 SaveFileDialog 并配置它,您可以调用 ShowDialog 然后检查结果:

var sfd= new SaveFileDialog();
//Other initializations ...
//sfd.Filter= "Text files (*.txt)|*.txt|All files (*.*)|*.*";
//sfd.DefaultExt = "txt";

if(sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
MessageBox.Show("Save Clicked");
//ِDo something for save
}
else
{
MessageBox.Show("Cancel Clicked");
//Do something for cancel
}

您可以使用 FileName 访问选定的文件属性,例如 MessageBox.Show(sfd.FileName);

关于c# - 当 SaveFileDialog 被取消时,我该如何处理 "do something"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33029331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com