0

我的应用程序中有图表的另存为图像功能。图表控件是一个自定义用户控件,其中包含自定义逻辑。它也有一些基于大小、缩放等的缩放。但是,在将它们保存为图像时,我想给用户设置图像大小的选项(例如:800x600 像素@300 DPI)。

为此,我为图像的各种设置创建了一个带有文本框/复选框等的表单。这些文本框之一用于文件名。文件名文本框是只读的,并带有一个浏览按钮,单击该按钮会显示 SaveFileDialog。

用户在主窗体的菜单中单击“另存为图像”。我使用以下代码显示 ImageExportDialog:

using(ImageExportDialog dlg = new ImageExportDialog())
{
   if(dlg.ShowDialog() == DialogResult.OK)
   {
      //get the settings selected by the user and generate the image
   }
}

在 ImageExportDialog 中,用户点击浏览按钮,SaveFileDialog 如下所示:

using(SaveFileDialog dlg = new SaveFileDialog())
{
   if(dlg.ShowDialog() == DialogResult.OK)
   {
      txtFileName.Text = dlg.FileName;
   }
}

现在的问题是,当用户单击 SaveFileDialog 中的“保存”按钮时,按预期设置了 txtFileName.Text,但父自定义对话框似乎也从 ShowDialog 方法返回,并且 DialogResult 与保存文件对话框!然后控件继续执行上述代码的“获取用户选择的设置并生成图像”部分。

不太确定我在这里做错了什么!

4

1 回答 1

0

啊啊啊!!!

自己发现了问题。我复制粘贴了 ImageExportDialog 的 OK 按钮,为 SaveFileDialog 创建了 Browse 按钮​​。

猜猜看,Browse 按钮​​的 DialogResult 属性设置为“OK”!将其更改为“无”解决了该问题。

于 2010-04-04T09:08:49.090 回答