ComboBox下拉列表隐藏

时间:2011-06-07 10:51:01

标签: c# c++ winapi

我正在创建一个带复选框的组合框。每件事情都很好,但我遇到了问题。

当我打开组合框列表并检查任何值列表框时消失。所以,如果我必须在组合框中检查五个值。我必须点击10次。

我想打开组合框并检查所有5个项目,然后单击组合框并列出

消失!

我通过阅读Windows消息尝试了这个。我想我会听到窗口消息和

的时候

组合框列表消失消息到达我只是通过调用返回来跳过此。

这是我的代码:

protected override void WndProc(ref Message message)
    {
     const int CB_SHOWDROPDOWN=0x014F;
     if (message.Msg == CB_SHOWDROPDOWN ) 
     {
       if(message.WParam == (IntPtr)0)
       {
       SendMessage(Program.poForm.cmbShop.Handle, CB_SHOWDROPDOWN, (IntPtr)1,
         IntPtr.Zero);
       } 
       return;
     }
      base.WndProc(ref message);
    }

这不起作用!有没有解决这个问题的工作?

2 个答案:

答案 0 :(得分:1)

您是否查看过使用复选框扩展组合框的code project示例。

答案 1 :(得分:0)

您是否绝对有必要使用组合框?因为.NET中有一个checkedlistbos控件。