在C# winform中,请问怎么样在代码中让COMBOBOX下拉框弹出来?
(不是用发送F4这个方法)下面是网上的VB的代码:
利用API消息CB_SHOWDROPDOWN。
    下面是常数和函数定义:
    Const CB_SHOWDROPDOWN = &H14F
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    如果想打开下拉列表,使用:
     SendMessage Combo1.hwnd, CB_SHOWDROPDOWN, 1, CLng(0)
    如果想关闭下拉列表,使用:
     SendMessage Combo1.hwnd, CB_SHOWDROPDOWN, 0, CLng(0)
怎么把它转成C#代码,我试过,但是调试的时候总是SendMessage的参数类型不对,请高手将它转成C#.
其中的&H14F转化成十六进制是多少??前面的&是什么意思(本人不懂VB)总之,只要能实现就行

解决方案 »

  1.   

    private void button1_Click(object sender, EventArgs e)
            {
                this.comboBox1.DroppedDown=true;
            }
      

  2.   

    我用的是VS2005,创建是winform程序,没有DropppedDown属性...........
      

  3.   

            private void button1_Click(object sender, EventArgs e)
            {
                          this.comboBox1.DroppedDown = true;
            }
    我用的也是VS2005啊,有这个属性.
      

  4.   

     MSDN里面也能查的到啊!
     DroppedDown  获取或设置一个值,该值指示组合框是否正在显示其下拉部分。 
      

  5.   

    那怎么样才能在ComboBox实现像VS编辑器那样智能提示的功能,就像输入A它会列出下拉列表中以A打头的项被选中.......,
      

  6.   

          private void button1_Click(object sender, EventArgs e) 
            { 
                          this.comboBox1.DroppedDown = true; 
            } 
      

  7.   

    实现这个有个查询匹配的步骤:下拉列表中的所有项都应该放到一个集合或者容器里面,当输入字符串(比如"A")的时候,用字符串("A")去匹配(用按键onkeyup事件触发查询匹配动作)集合或者容器中的项,如果符合,就让它在下拉列中显示出来.
    以前用javascript做过一个联系人查询的东西,输入号码的全部或者部分(比如"131"),则在下拉框(select)中显示出符合匹配的项,当时所有的项是放在xml里面,用xpath去查询匹配,和你想要实现的功能类似.
      

  8.   

    现如何查找和匹配不是问题,问题在于:当输入的时候,如何让它自动弹出下拉列表,楼上刚才说用,this.comboBox1.DroppedDown = true; 但这样是可以弹出来但是鼠标就不能用了??鼠标那个箭头消失了??
      

  9.   

    问题解决了,可以用SendMessage(this.Handle, WM_SETCURSOR, IntPtr.Zero, IntPtr.Zero);实现