2017-02-25 107 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

相關問題