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;
    }
    }
    }

  • 相关阅读:
    每周总结
    5月2日学习日志
    5月1日学习日志
    4月30日学习日志
    4月29日学习日志
    4月28日学习日志
    4月27日学习日志
    每周总结
    vue滚动插件BetterScroll
    vue 获取页面高度
  • 原文地址:https://www.cnblogs.com/zhaowei303/p/6307417.html
Copyright © 2011-2022 走看看