Foxtable(狐表)用户栏目专家坐堂 → [求助]直接用方向键选择combobox内容?


  共有5315人关注过本帖树形打印复制链接

主题:[求助]直接用方向键选择combobox内容?

帅哥哟,离线,有人找我吗?
jnletao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:941 积分:7774 威望:0 精华:0 注册:2013/7/7 13:37:00
[求助]直接用方向键选择combobox内容?  发帖心情 Post By:2013/11/12 10:27:00 [显示全部帖子]

想着用tab键切换到combobox控件时,直接用方向键来切换选项,结果不支持(好像要用鼠标或F4键激活才可以)
有没有什么办法可以实现直接切换?

呵呵,在LXL的提醒下,给出标准代码,设置在ComboBox的KeyDown事件:

 

If e.KeyCode = Keys.Down Then
    e.Cancel = True
    ctype(e.Sender.BaseControl,Foxtable.CustomComboBox).OpenDropDown        
End If


结果提示“编译错误,未定义类型CustomComboBox”  ,是怎么回事?

 回到顶部
帅哥哟,离线,有人找我吗?
jnletao
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:941 积分:7774 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2013/11/12 10:32:00 [显示全部帖子]

找到方法了。
设置在ComboBox的KeyDown事件:
If e.KeyCode = Keys.Down Then
    SendKeys.Send("{F4}")
End If

不知还有没有更好的方法!?


 回到顶部
帅哥哟,离线,有人找我吗?
jnletao
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:941 积分:7774 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2013/11/12 10:41:00 [显示全部帖子]

找到一个更全面的方法,直接在窗体KeyDown事件里设置,这样对窗体所有combobox都有效!

If TypeOf e.Sender Is WinForm.ComboBox Then '如果单击的是组合框
    If e.KeyCode = Keys.Down Then
        SendKeys.Send("{F4}")
    End If
End If

图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
jnletao
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:941 积分:7774 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2013/11/12 10:44:00 [显示全部帖子]

If TypeOf e.Sender Is WinForm.ComboBox Then '如果单击的是组合框
    If e.KeyCode = Keys.Down Then
         e.Cancel = True
         e.Sender.OpenDropDown
    End If
End If

是的,这样也行,刚才试试

 回到顶部