2016-07-03 7 views
0

IRセンサーを使用してフォーム間を変更したいと考えています。
手を動かしたときに検出されたエッジを保存するエッジ変数を作成しました。
センサーを横切って手を動かすと、フォーム間を行き来できるはずです。
しかし、2回目のスワイプの後、私はちょうど多くのエラーが発生します。2つのウィンドウフォームを前後に切り替えるには

これは動作しないコードの一部です:

static void g_detected(object sender,PinStatusEventArgs e) 
    { 
     edges++; 
     switch(edges) 
     { 
      case 1: 
       break; 
      case 2: 
       edges = 0; 
       if (weatherView.Visible) 
       { 
        weatherView.Visible = false; 
        stockView.Visible = true; 
       } 
       else if (!weatherView.Visible) 
       { 
        weatherView.Visible = true; 
        stockView.Visible = false; 
       } 
       break; 
     } 
    } 
+0

あなたの 'の場合のデフォルト:'欠けています。 2回目の反復後にスイッチをキャッチするケースはありません – lokusking

+1

"tons of errors"とは何ですか?あなたはそこにエラーを見つけることを開始することができます... –

答えて

0

より良いアプローチは、インクリメントされた変数をチェックを取り払うことになります。代わりにmodを使うことができます。

static void g_detected(object sender, PinStatusEventArgs e) { 
 
    edges += 1; 
 
    switch (edges % 2) { 
 
    case 1: 
 
     break; 
 
    case 0: 
 
     if (weatherView.Visible) { 
 
     weatherView.Visible = false; 
 
     stockView.Visible = true; 
 
     } else if (!weatherView.Visible) { 
 
     weatherView.Visible = true; 
 
     stockView.Visible = false; 
 
     } 
 
     break; 
 
    default: 
 
     //Will never hit, just to handle general coding conventions. 
 
     break; 
 
    } 
 
}

関連する問題