0

次のコードを使用して、充電レベルに達したときにメッセージ ボックスを表示しています

private void timer1_Tick(object sender, EventArgs e)
    {
        battery = Convert.ToInt32(power.BatteryLifePercent * 100);

        while (battery == 100)
        {
            MessageBox.Show("charging full disconnect the charger");
        }
    }

このコードは機能しています。しかし、メッセージボックスが複数回表示されています。一度だけ見せたい。

ありがとうございました

4

2 に答える 2

0

while ループに関連付けられた条件は、コード化された方法では到達しません。これが、ループの本体が実行され続ける理由です。

条件を変更または更新するコードを埋め込む必要があります。ただし、これを行うと、バッテリーの充電プロセスには通常時間がかかるため、プログラムは多くのリソースを消費します。次に行う必要があるのは、ある程度の期間 thread.sleep を実行するか、タイマーを使用することです。

このコード例は同様のことを行っており、おそらくあなたのケースで確認する価値があります: BlackWasp-PowerStatusCheck .

于 2014-01-01T09:37:18.100 に答える