zoukankan      html  css  js  c++  java
  • wpf Combobox模拟键盘按键

    private void RadComboBox_PreviewKeyUp(object sender, KeyEventArgs e)
    {
    try
    {
    var obj = (RadComboBox)sender;
    if (!e.Key.Equals(Key.Enter) && !e.Key.Equals(Key.Tab))
    obj.IsDropDownOpen = true;
    }
    catch (PresentationException)
    {
    throw;
    }
    catch (Exception ex)
    {
    throw new PresentationException(ex);
    }
    }

    private void RadComboBox_KeyDown(object sender, KeyEventArgs e)
    {
    RadComboBox radCmb = sender as RadComboBox;
    if (e.Key == Key.Tab)
    {
    if (Keyboard.PrimaryDevice != null && Keyboard.PrimaryDevice.ActiveSource != null && radCmb.IsHighlighted)
    {
    if (radCmb.IsDropDownOpen)
    {
    var e1 = new KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, 0, Key.Enter) { RoutedEvent = Keyboard.KeyDownEvent };
    InputManager.Current.ProcessInput(e1);
    e1.Handled = true;
    }
    radCmb.KeyDown -= RadComboBox_KeyDown;
    var e2 = new KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, 0, Key.Tab) { RoutedEvent = Keyboard.KeyDownEvent };
    InputManager.Current.ProcessInput(e2);
    e2.Handled = true;
    radCmb.KeyDown += RadComboBox_KeyDown;
    e.Handled = true;
    }
    }
    }

  • 相关阅读:
    高级打字机
    不等数列
    间谍网络
    医院设置
    题目编号生成器
    传纸条
    聪明的打字员
    倒水问题
    八数码难题
    生日蛋糕
  • 原文地址:https://www.cnblogs.com/zhaowei303/p/6307417.html
Copyright © 2011-2022 走看看