コード例 #1
0
        private void DatePicker_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            TraversalRequest vector = null;

            switch (e.Key)
            {
            case Key.Enter:
                vector = new TraversalRequest(FocusNavigationDirection.Next);
                break;

            case Key.Down:
                vector = new TraversalRequest(FocusNavigationDirection.Next);
                break;

            case Key.Up:
                vector = new TraversalRequest(FocusNavigationDirection.Previous);
                break;
                //case Key.Right:
                //	vector = new TraversalRequest(FocusNavigationDirection.Next);
                //	break;
                //case Key.Left:
                //	vector = new TraversalRequest(FocusNavigationDirection.Previous);
                //	break;
            }
            FocusControl.SetFocusWithOrder(vector);
        }
コード例 #2
0
 private void Combobox_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.Enter)
     {
         FocusControl.SetFocusWithOrder(new TraversalRequest(FocusNavigationDirection.Next));
         UIElement element = Keyboard.FocusedElement as UIElement;
         e.Handled = true;
     }
 }
コード例 #3
0
        /// <summary>
        /// Enter、Tab、矢印キーによるフォーカス移動
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void MaskedTextBox_KeyDown(object sender, KeyEventArgs e)
        {
            TraversalRequest vector = null;

            switch (e.Key)
            {
            case Key.Enter:
                if (cAcceptsReturn == true)
                {
                    // 改行許可の場合はフォーカス移動しない
                    return;
                }
                vector = new TraversalRequest(FocusNavigationDirection.Next);
                break;

            case Key.Down:
                vector = new TraversalRequest(FocusNavigationDirection.Next);
                break;

            case Key.Up:
                vector = new TraversalRequest(FocusNavigationDirection.Previous);
                break;
                //左右の矢印キーではフィールドを移動しない
                //case Key.Right:
                //	if (MaskedTextBox.SelectionStart < MaskedTextBox.Text.Length)
                //	{
                //		return;
                //	}
                //	vector = new TraversalRequest(FocusNavigationDirection.Next);
                //	break;
                //case Key.Left:
                //	if (MaskedTextBox.SelectionLength > 0 || MaskedTextBox.SelectionStart > 0)
                //	{
                //		return;
                //	}
                //	vector = new TraversalRequest(FocusNavigationDirection.Previous);
                //	break;
            }
            if (vector != null)
            {
                FocusControl.SetFocusWithOrder(vector);
                UIElement element = Keyboard.FocusedElement as UIElement;
                if (element is Button || element is ComboBox)
                {
                    e.Handled = true;
                }
            }
        }
コード例 #4
0
ファイル: Common.cs プロジェクト: ToshiyukiArinobu/MRSN
 public static void SetFocusWithOrder(TraversalRequest vector)
 {
     if (vector != null)
     {
         UIElement element = Keyboard.FocusedElement as UIElement;
         if (element != null)
         {
             FocusControl.SkipRadioButton(element, vector);
             element = Keyboard.FocusedElement as UIElement;
             if (element != null)
             {
                 Type tp = element.GetType();
                 if (tp.Name.StartsWith("Ribbon"))
                 {
                     // リボンコントロールに移動したら入力可能な先頭のフィールドに強制移動する
                     FocusControl.SetFocusToTopControl(Window.GetWindow(element));
                 }
             }
         }
     }
 }
コード例 #5
0
        /// <summary>
        /// フォーカス移動
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cPasswordBox_KeyDown(object sender, KeyEventArgs e)
        {
            TraversalRequest vector = null;

            switch (e.Key)
            {
            case Key.Enter:
                vector = new TraversalRequest(FocusNavigationDirection.Next);
                break;

            case Key.Down:
                vector = new TraversalRequest(FocusNavigationDirection.Next);
                break;

            case Key.Up:
                vector = new TraversalRequest(FocusNavigationDirection.Previous);
                break;
            }
            if (vector != null)
            {
                e.Handled = true;
                FocusControl.SetFocusWithOrder(vector);
            }
        }