就是把鼠标和键盘中控制combox选择的键给屏蔽掉,当我滚动鼠标滚轮或者按键盘的上下up、down时combox的值不会发生变化

解决方案 »

  1.   

    重写KeyPress与ProcessCmdKey
    protected override void OnKeyPress(KeyPressEventArgs e)  
      {    } 
      

  2.   

     点击这个控件 右键-> 属性 ->事件  里面 有  
      

  3.   

    我那些事件里面就只选了一个SelectedIndexChanged事件,怎么删?
    还有事件里面没有mousewheel事件,我是要屏蔽up和down,关于这两个能删那个功能呢
      

  4.   

    能不能说的全点,就一个OnKeyPress事件太不好理解了
      

  5.   


    protected override void OnKeyPress(KeyPressEventArgs e) 

        if(e.keys == ?)//自己查按键的值
        {
           e.returnValue = false;//忘了有没有这个没有就直接return
        }
    }
      

  6.   

    其实我那个界面是上面有combox,下面是一个panel,而panel中的操作需要up和down以及滚轮操作,但是有根combox冲突,所以想把它给屏蔽掉,只要屏蔽combox,但up、down和滚轮还要用,你给的这样好像是都给屏蔽了吧
      

  7.   

    怎么可能都屏蔽呢。这个重载的是combox的onkeypress事件
    难道你想焦点在combox上的时候按键盘和滚动鼠标,把这个过程给panel?
    那样的话,自己做个组件吧。不知道获得panel的句柄,然后在keypress中使用sendkey()
    把按键命令发送给Panel是否可行。
      

  8.   

    那这个up、down、left、right还有滚轮,怎么知道其ascii值啊
      

  9.   

    http://blog.csdn.net/chazikai24/archive/2010/07/28/5770413.aspx
      

  10.   

    已经解决了,谢谢了,我还想问个问题,为什么用CSDN的搜索搜不到东西呢??有一次我就把看的一个论坛标题黏贴过去搜索的,可结果为0个。在CSDN逛了有一年多了,我就从没发现它的搜索有什么优点
      

  11.   

    protected override void OnKeyPress(KeyPressEventArgs e)
    这样写  屏蔽的是整个form的KeyPress事件建议自定义一个类 继承 DropDownList(ComboBox)
    在其中重写 OnKeyPress  等class MyComboBox:ComboBox
    {
       protected override void OnKeyPress(KeyPressEventArgs e)
       {
           ///...
       }
    }
    重写 虚方法  需要在类里面