2017-02-25 13 views
0

saveDialogの '名前を付けて保存'ウィンドウが開いていることを検出できますか?C#Visual Studio: '名前を付けて保存'ウィンドウを開く方法が開いています

私のプログラムでは、このボタンをクリックすると、画面上で何も表示されないが、エクスポートするデータが増えるとこの期間が増えてしまうデータグリーブビューからデータをエクスポートするオプションがあります「別名で保存」ウィンドウが表示されます。

データのエクスポート中にアクティビティを実行するために、エクスポートボタンをクリックすると実行される別のフォームにプログレスバーがあります。

プログレスバーは現在、プログレスバーが最大値に達するまで徐々に値を加算するタイマーで動作しています。

私の問題は、現在のところ、エクスポートの期間を推測し、それに応じてプログレスバーの値を調整することです。

代わりに、 '名前を付けて保存'ウィンドウを開いた後、プログレスバーが最大値になり、フォームが閉じるようにしたいと思います。

もう一度saveDialogの[名前を付けて保存]ウィンドウが開いていることを検出できますか?

+0

こんにちはなりをチェックすることですあなたドンという、問題ですプログレスバーが最大に達するタイミングを知りませんか?正確なProgressBarを使用する場合は、エクスポートするデータに従ってProgessを更新する必要がありますか?エクスポートが完了したら、開いているウィンドウを確認するなどの "回避策"は必要ありません。 これは、その場合に役立つかもしれません:https://stackoverflow.com/questions/28508365/update-progress-bar-in-another-form-while-task-is-running – huserben

答えて

0

一つの方法は、開いたウィンドウに

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

ウルアプリケーションが実行されている場合は、その後、「Application.Current.Windows.Countは」「1」

+0

あなたのメソッドは、 [名前を付けて保存]ウィンドウはその数に含まれていないため、動作しません。しかし、私に問題の新しいアイデアを与えてくれてありがとう。 – Vpnm

+0

Save asはSaveDialogウィンドウで、開いている場合はカウントされます。 –

+0

私のプログラムではカウントされないという問題があります。 – Vpnm

関連する問題