【发布时间】:2011-11-04 16:36:01
【问题描述】:
我正在尝试在启动时启动一个表单,并让它在我的应用程序运行的整个过程中一直作为背景。本质上,我想隐藏所有桌面图标并拥有空白背景。此外,当用户单击某些按钮时,我希望表单 BackColor 发生变化。
我已经搜索了一堆,我一直在寻找一半的解决方案。到目前为止,这是我尝试过的:
创建了一个覆盖 WndProc 事件的 BackBaseForm,如果它是 WM_WINDOWPOSCHANGING,我不调用 base.WndProc(ref m),而是发送以下消息:
SetWindowPos(Handle, new IntPtr(1), 0, 0, this.width, this.height, SWP_NOZORDER);
但是,每当我单击表单时,它仍会将其置于最前面。我还尝试创建一个WINDOWPOS 结构,编组指向该结构的指针,然后修改该结构。我不认为这会改变消息中实际的lParam。
【问题讨论】:
标签: c# winforms winforms-interop