使用SetWindowPos隐藏窗口不会隐藏组合框

时间:2010-11-02 09:27:44

标签: c# interop

我试图使用这行代码隐藏窗口

SetWindowPos(d, IntPtr.Zero, 0, 0, 0, 0, 0x0001 | 0x0002 | 0x0004 | 0x0010 | 0x0080);

SetWindowPos方法是来自user32.dll的方法 大部分时间它工作正常,但如果在我隐藏窗口时组合框打开,组合框的列表仍然可见。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

SetWindowsPos不会隐藏下拉列表,因为组合框的下拉列表不是组合框的子项,因此它不受SetWindowsPos的影响。

(您可能希望使用Spy ++查看下拉列表的父级,这是NULL - 意味着桌面是其父级,而组合框控件的父级是其所在的形式)

为什么不使用正确隐藏窗口和组合框'下拉列表的Form.Hide()方法?

相关问题