2017-02-25 110 views
0

是否有可能检测到saveDialog“另存为”窗口当前打开?C#Visual Studio:如何检测“另存为”窗口打开

在我的节目,我不得不从一个DataGridView导出数据,当我点击这个按钮有可能15秒钟内,其中在屏幕上没有什么是视觉上发生,但更多的数据这段时间内增加出口,然后一个选项将显示“另存为”窗口。

为了让某些活动在导出数据时运行,我在单击导出按钮时运行的单独窗体上有一个进度栏。

进度栏当前正在使用一个计时器,该计时器逐渐增加值直到进度条达到其最大值。

我的问题是,目前我只是猜测导出多长时间,并相应地调整进度条值。

相反,我希望在“另存为”窗口打开后进度条将达到其最大值并关闭窗体。

再次是否可以检测到saveDialog'另存为'窗口当前打开?

+0

喜来检查打开的窗口

if (App.Current.Windows.Count > 1) { // do your code here, when you have more than one window open state this code will execute } 

,是什么原因呢,你别不知道进度条何时会达到最大值?如果你想有一个准确的ProgressBar,你应该根据你导出的数据更新它的progess。当你知道你的导出完成时,你不需要像检查打开的窗口这些“解决方法”? 这可能是在这种情况下的一些帮助:https://stackoverflow.com/questions/28508365/update-progress-bar-in-another-form-while-task-is-running – huserben

回答

0

一种方法是在乌拉圭回合的应用程序运行时再“Application.Current.Windows.Count”将是“1”

+0

您的方法不起作用“另存为”窗口未在该计数内列出,因此不起作用。不过谢谢你给我提出了一些新的想法。 – Vpnm

+0

另存为SaveDialog窗口,如果其打开,将被计数。 –

+0

问题在于它不在我的程序中。 – Vpnm

相关问题