当前位置:编程学习 > C#/ASP.NET >>

请问在listbox中,如何用键盘上下选项

就是在一个listbox中,按键盘上的上方向键,listbox的选定项就向上移动,按向下方向键,listbox的选定项就向下移动

谢谢!! --------------------编程问答--------------------
引用楼主 dbstv34 的回复:
就是在一个listbox中,按键盘上的上方向键,listbox的选定项就向上移动,按向下方向键,listbox的选定项就向下移动

谢谢!!


难道没有这个功能吗? --------------------编程问答-------------------- 很疑惑,特意测试了一下。。。。。

随便填了几个条目,默认就可以用上下箭头选择的。。。。

你是不是设置了什么属性 --------------------编程问答--------------------
引用 2 楼 isjoe 的回复:
很疑惑,特意测试了一下。。。。。

随便填了几个条目,默认就可以用上下箭头选择的。。。。

你是不是设置了什么属性

我的不行呢?没有设置过 --------------------编程问答-------------------- 等待答案 --------------------编程问答-------------------- 可以直接使用的啊
→↓向下选
←↑向上选 --------------------编程问答-------------------- 嗯,奇怪,我新建的也有,但是,在我做的一个程序中,却不行,是不是我的程序里面控件太多了的原因 --------------------编程问答--------------------  一般默认的可以,还可以监听事件来修改。 --------------------编程问答-------------------- 实在不行,你处理一下ProcessCmdKey这个函数吧 --------------------编程问答--------------------
引用 8 楼 wangyong0921 的回复:
实在不行,你处理一下ProcessCmdKey这个函数吧

这是个啥函数,具体咋整,麻烦下 --------------------编程问答-------------------- 估计你的键盘坏了 --------------------编程问答--------------------
引用 10 楼 hhc123 的回复:
估计你的键盘坏了

奇怪,我新建的也有,但是,在我做的一个程序中,却不行,是不是我的程序里面控件太多了的原因 --------------------编程问答-------------------- 我发现啊,直接在界面上编辑的项,就可以用键盘箭头上下选定
在代码中增加的项,好像不行 --------------------编程问答-------------------- 哎呀,完了,不知道啥原因? --------------------编程问答-------------------- 先MARK一下
--------------------编程问答--------------------
引用 14 楼 renyiqiu 的回复:
先MARK一下

啥MARK --------------------编程问答-------------------- 我找到原因了,是因为listbox注册了listBox1_SelectedIndexChanged(object sender, EventArgs e)事件,就不能用键盘箭头上下选定项了,如果取消这个事件,就可以了
可是,我需要这个事件啊,帮忙出出主意 --------------------编程问答--------------------
引用 16 楼 dbstv34 的回复:
我找到原因了,是因为listbox注册了listBox1_SelectedIndexChanged(object sender, EventArgs e)事件,就不能用键盘箭头上下选定项了,如果取消这个事件,就可以了
可是,我需要这个事件啊,帮忙出出主意

等待答案 --------------------编程问答--------------------
引用 17 楼 dbstv34 的回复:
引用 16 楼 dbstv34 的回复:
我找到原因了,是因为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("没有可选择的项!");
            }
        }
--------------------编程问答-------------------- 楼主是不是在窗体其他地方也写来按键事件? --------------------编程问答--------------------
引用 22 楼 b87936260 的回复:
楼主是不是在窗体其他地方也写来按键事件?

跟按键事件应该没有关系吧,我试过,只要取消listBox1_SelectedIndexChanged(object sender, EventArgs e)事件,就没问题 --------------------编程问答-------------------- 等待答案 --------------------编程问答-------------------- 关注下!! --------------------编程问答-------------------- 请问,还要设置焦点啊,没有那个事件的时候,都不用做这些的
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,