1

6 回発生するイベントがあり、ポップアップを 6 回ではなく 1 回だけ表示したい。フラグを使用しようとしましたが、同じイベントからリセットできません。値を比較しようとしましたが、常に同じ結果が得られたため機能しませんでした。何か案は ?

4

2 に答える 2

2

これはシングルスレッドのwinformsアプリにあると思います。ポップアップを表示した後の最初のイベントでtrueに設定した静的ブール変数「EventReceived」を使用できます。'EventReceived'がtrueである限り、ポップアップを再度表示しないでください。ポップアップが閉じている場合は、「EventReceived」をfalseに戻します。

もちろん、問題は、なぜイベントを複数回受け取るのかということです。たぶん、これを回避するか、別の方法で対処することができますが、その場合は、より多くの情報を提供する必要があります。

于 2013-03-12T11:10:48.807 に答える
1

静的フラグ変数を試してください。その後、同じイベントからフラグをリセットできます。アプリケーションが初めて onEvent コード セグメントを実行するときに、フラグをマークする必要があります。inEvent コード セグメントでは、操作を含めることができます。コードのその部分に到達する前に、フラグを確認する必要があります。(if句経由)。6回後にフラグをリセットする必要がある場合は、カウンター変数を維持し、カウンター値によって、どの発射サイクルにいるかを計算できます.カウンターが6に達したら、フラグ変数をリセットできます.

于 2013-03-12T11:19:47.653 に答える