データグリッドを表示するメインフォームと、行の1つをダブルクリックした後に表示される「詳細フォーム」(ShowDialog
メソッドを使用)を持つWindowsフォームアプリケーションがあります。この「詳細フォーム」は正確に私にいくつかの問題を与えています。Application.Exit()を呼び出した後、ダイアログフォームがアプリケーションをハングアップするのはなぜですか?
「応答していません」という状態の長いWebサービスシステムセットのフォームでは、コールバックフォームがメインウィンドウの後ろに隠れた後。それ以外はすべて正常に動作します。
状況によっては、すぐに
Application.Exit
を使用してアプリケーションを閉じる必要があります。 「詳細フォーム」が開いているときは、アプリケーションがハングアップします。Environment.Exit
またはThread.CurrentThread.Abort
でも機能しません。
これらの症状に基づいていれば、私に何かヒントを与えることができますか、何が間違っているのだろうかと思います。私はいくつかのコード例を挙げていますが、この場合は何が重要なのか分かりません。
私はそれが十分にそれを明確に記述していないことがわかります。ポイント1.と2.は、少なくとも直接には接続されていません。 – kar8o
は、中止/終了コード(ポイントA)でブレークポイントを設定し、Webサービスコールの直後(ポイントB)でデバッグを設定します。ポイントBを通過するまでポイントAを押すことはできませんが、ポイントBより前にポイントAを押すことが必要なので、同期コールを非同期に変更する必要があります。 –
私は、アプリケーションがハングアップするためにWebサービスを呼び出す必要はないことを意味します。 「詳細フォーム」は開いていれば十分です。サービスコールバック後のこのような特殊な動作は、同じ実装ミスの別の症状かもしれないと私は思っていました。 – kar8o