Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以编程方式设置SaveFileDialog的DialogResult_C#_Wpf_Savefiledialog_Dialogresult - Fatal编程技术网

C# 以编程方式设置SaveFileDialog的DialogResult

C# 以编程方式设置SaveFileDialog的DialogResult,c#,wpf,savefiledialog,dialogresult,C#,Wpf,Savefiledialog,Dialogresult,我已经找了好几天的资料来解释如何做到这一点 我在WPF(C#)中有一段代码,它循环遍历一组框架元素。目标是将每个框架元素保存为单独的图像(gif文件)。代码目前正在运行,实际上保存了我需要的所有图像 但是,对于每个元素,用户必须手动单击SaveFileDialog框中的“保存”按钮。有100多个元素。我想让代码打开SaveFileDialog框,并在整个循环中自动“单击”用户的“保存”按钮(即,对于每个元素) 这是目前的代码 foreach(FrameworkElement x in y) {

我已经找了好几天的资料来解释如何做到这一点

我在WPF(C#)中有一段代码,它循环遍历一组框架元素。目标是将每个框架元素保存为单独的图像(gif文件)。代码目前正在运行,实际上保存了我需要的所有图像

但是,对于每个元素,用户必须手动单击
SaveFileDialog
框中的“保存”按钮。有100多个元素。我想让代码打开
SaveFileDialog
框,并在整个循环中自动“单击”用户的“保存”按钮(即,对于每个元素)

这是目前的代码

foreach(FrameworkElement x in y)
{
    SaveFileDialog dlg = new SaveFileDialog();
    dlg.Filter = " ...blah...";
    dlg.DefaultExt = "...blah..";

    Nullable<bool> result = dlg.ShowDialog(); // (A)
    string path = dlg.FileName;
    int selectedFilterIndex = dlg.FilterIndex;

    if(result == true)                        // (B)
    {   ... then do all the rendering, cropping, etc.. .. }
}
foreach(框架元素x在y中)
{
SaveFileDialog dlg=新建SaveFileDialog();
dlg.Filter=“…废话…”;
dlg.DefaultExt=“…废话…”;
可为空的结果=dlg.ShowDialog();/(A)
字符串路径=dlg.FileName;
int selectedFilterIndex=dlg.FilterIndex;
如果(结果==真)/(B)
{…然后执行所有渲染、裁剪等操作}
}
我知道我可以在包含“(A)”和“(B)”的行之间写一行,这将激活“保存”按钮。我在网上找不到任何排除“如果”语句的例子

我不希望我的代码“怀疑这个结果是否为真”。我希望代码实际上将结果设置为true,而不考虑其他任何事情


非常感谢您的帮助。

这是一个愚蠢的问题,但是如果没有
保存文件对话框
,您能做什么呢?我的意思是,当你想让你的代码点击“确定”时,为什么要显示它呢?对不起,但是…如果用户不需要点击“保存”,那么就没有确认,他甚至不能键入新名称。为什么不删除对话框并写入唯一的文件名?在编写时,您可以在循环外部询问名字(和文件格式),它将为每个元素打开一个新对话框。这就是你想要的吗?或者,您想显示一个对话框来获取路径,然后对该文件夹中的每个文件进行操作吗?您可以在循环之前打开对话框,存储路径,然后对循环中的文件进行操作。保存路径、文件名以及从中获得的任何内容。如果在循环的每个步骤中不需要任何进一步的用户输入,则获取循环外部的所有用户输入。SaveFileDialog存在的唯一原因是从用户处获取输入。这就是全部。这是一个对话。如果不需要用户输入,则不需要SaveFileDialog。