2010-04-04 13 views
0

我在应用程序中为图表保存图像功能。图表控件是一个自定义用户控件,其中包含自定义逻辑。它也有一些基于尺寸,缩放等的缩放。但是,在将它们保存为图像时,我想让用户选择设置图像的大小(例如:800x600像素@ 300 DPI)。保存另一个自定义对话框上的对话框表现得很奇怪!

为此,我为图像的各种设置创建了一个带有文本框/复选框等的窗体。其中一个TextBoxes用于文件名。文件名称文本框是只读的,并伴随着一个浏览按钮,单击时显示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中的“Save”按钮,按照预期设置txtFileName.Text,但父定制对话框似乎也从ShowDialog方法返回并且DialogResult与SaveFileDialog相同!然后控件继续执行“获取用户选择的设置并生成图像”部分的代码。

不知道我在做什么错在这里!

回答

0

Arghhh !!!

我自己发现了这个问题。我复制粘贴了ImageExportDialog的OK按钮以创建SaveFileDialog的浏览按钮。

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

+0

将此标记为答案! :) – 2010-04-04 14:06:38