请问在listbox中,如何用键盘上下选项
就是在一个listbox中,按键盘上的上方向键,listbox的选定项就向上移动,按向下方向键,listbox的选定项就向下移动谢谢!! --------------------编程问答--------------------
难道没有这个功能吗? --------------------编程问答-------------------- 很疑惑,特意测试了一下。。。。。
随便填了几个条目,默认就可以用上下箭头选择的。。。。
你是不是设置了什么属性 --------------------编程问答--------------------
我的不行呢?没有设置过 --------------------编程问答-------------------- 等待答案 --------------------编程问答-------------------- 可以直接使用的啊
→↓向下选
←↑向上选 --------------------编程问答-------------------- 嗯,奇怪,我新建的也有,但是,在我做的一个程序中,却不行,是不是我的程序里面控件太多了的原因 --------------------编程问答-------------------- 一般默认的可以,还可以监听事件来修改。 --------------------编程问答-------------------- 实在不行,你处理一下ProcessCmdKey这个函数吧 --------------------编程问答--------------------
这是个啥函数,具体咋整,麻烦下 --------------------编程问答-------------------- 估计你的键盘坏了 --------------------编程问答--------------------
奇怪,我新建的也有,但是,在我做的一个程序中,却不行,是不是我的程序里面控件太多了的原因 --------------------编程问答-------------------- 我发现啊,直接在界面上编辑的项,就可以用键盘箭头上下选定
在代码中增加的项,好像不行 --------------------编程问答-------------------- 哎呀,完了,不知道啥原因? --------------------编程问答-------------------- 先MARK一下
--------------------编程问答--------------------
啥MARK --------------------编程问答-------------------- 我找到原因了,是因为listbox注册了listBox1_SelectedIndexChanged(object sender, EventArgs e)事件,就不能用键盘箭头上下选定项了,如果取消这个事件,就可以了
可是,我需要这个事件啊,帮忙出出主意 --------------------编程问答--------------------
等待答案 --------------------编程问答--------------------
我试过了,注册了listBox1_SelectedIndexChanged(object sender, EventArgs e)事件,照样能用键盘箭头上下选定项 --------------------编程问答-------------------- 路过学习了 --------------------编程问答-------------------- 是不是楼主,上下键控制的时候焦点没在下拉列表上? --------------------编程问答-------------------- 我实现了这个功能!
--------------------编程问答-------------------- 楼主是不是在窗体其他地方也写来按键事件? --------------------编程问答--------------------
enum Direction
{
Up,Right,Down,Left
}
Direction dir;
private void Form1_Load(object sender, EventArgs e)
{
if (listBox1.SelectedIndex > 0)
{
switch (dir)
{
case Direction.Up:
listBox1.SelectedItem = listBox1.SelectedIndex + 1;
break;
case Direction.Down:
listBox1.SelectedItem = listBox1.SelectedIndex - 1;
break;
default:
break;
}
}
else
{
MessageBox.Show("没有可选择的项!");
}
}
跟按键事件应该没有关系吧,我试过,只要取消listBox1_SelectedIndexChanged(object sender, EventArgs e)事件,就没问题 --------------------编程问答-------------------- 等待答案 --------------------编程问答-------------------- 关注下!! --------------------编程问答-------------------- 请问,还要设置焦点啊,没有那个事件的时候,都不用做这些的
补充:.NET技术 , C#