2012-04-11 11 views
0

私はGUI上で作業しています。ユーザが「ロード」を押すと、2〜3分かかる一連の処理が実行されます。 「ロード」処理が終了した後、ユーザは「実行」をクリックする。ボタンの操作を防止する

問題は、「ロード」処理が完了する前にユーザーが「実行」をクリックするとプログラムがクラッシュすることです。これは、現在「ロード」が処理中であるため、「実行」に当たるのを防ぐことができないため、現在可能です。

「ロード」が完了する前にユーザーが「実行」を押さないように、フレンドリーなユーザーのアプローチをお勧めします。

ありがとうございました。

+2

メトロ? HTML? WinForms?マック? WPF?スイング? Silverlight? Win32? ASP.Net? SWT? MonoTouch? WP7? GWT? iPhone? AWT?アンドロイド?ブラックベリー?鉛筆&ペーパー? – SLaks

+0

ボタンを非表示にするだけです。 – SLaks

+0

をクリックするか、ボタンをクリックするまで無効にします。 –

答えて

1

あなたのUI環境を知らなくても決定的な答えを出すのは難しいです。簡単な解決策は、ロード処理が完了するまでExecuteボタンを無効にするか、非表示にすることです。

私の好ましい解決策は、データがロードされたかどうかをチェックし、実行していない場合はロードを実行してから続けることです。

負荷が長いリソース集中型の手順であれば、ユーザーの確認を常に求めることができますが、「実行するように求めて、データがロードされていない場合は、ロードすることが適切ですする。

1

type = "button"の入力に対してdisabled属性を使用すると、ボタンを有効または無効にすることができます。ボタンを無効にするには、jQueryを使用して無効な属性を追加します。

$("#Execute").attr('disabled', 'disabled'); 

、あなたはそれを有効にすることを希望する場合

$("#Execute").removeAttr('disabled'); 

にそれを削除します。例えば。あなたのロードイベントが完了した後。

関連する問題