我试图使用这行代码隐藏窗口
SetWindowPos(d, IntPtr.Zero, 0, 0, 0, 0, 0x0001 | 0x0002 | 0x0004 | 0x0010 | 0x0080);
SetWindowPos方法是来自user32.dll的方法 大部分时间它工作正常,但如果在我隐藏窗口时组合框打开,组合框的列表仍然可见。
我做错了什么?
答案 0 :(得分:1)
SetWindowsPos不会隐藏下拉列表,因为组合框的下拉列表不是组合框的子项,因此它不受SetWindowsPos的影响。
(您可能希望使用Spy ++查看下拉列表的父级,这是NULL - 意味着桌面是其父级,而组合框控件的父级是其所在的形式)
为什么不使用正确隐藏窗口和组合框'下拉列表的Form.Hide()方法?