예제 #1
0
 private void Window_KeyDown(object sender, KeyEventArgs e)
 {//Sólo se pueden pulsar números
     if (selectedCell != null)
     {
         if (e.Key == Key.Escape)
         {
             Application.Current.Shutdown();
         }
         else if (e.Key == Key.Delete)
         {
             selectedCell.Reset();
         }
         else if (e.Key == Key.Enter)
         {
             Solve();
         }
         else if (!selectedCell.Fixed && !selectedCell.Solved)
         {
             int keyVal = (int)e.Key;
             int value  = -1;
             if (keyVal >= (int)Key.D0 && keyVal <= (int)Key.D9)
             {//Si pulsa un nº en el teclado superior, lo borra como posibilidad
                 value = (int)e.Key - (int)Key.D0;
                 selectedCell.Possible.Remove(value);
                 //Solve();
             }
             else if (keyVal >= (int)Key.NumPad0 && keyVal <= (int)Key.NumPad9)
             {//Si pulsa un nº en el teclado numérico, lo settea
                 value = (int)e.Key - (int)Key.NumPad0;
                 selectedCell.writeNum(value);
             }
         }
     }
 }