调色板窗口/浮动工具窗口(C#.NET)

时间:2012-11-11 17:26:30

标签: c# windows winforms floating palette

我的应用需要浮动调色板窗口。我已经在我自己实现了这种行为,它在单个文档应用程序时效果很好,但现在我的应用程序需要多个文档窗口。我为此调整调色板窗口系统的尝试现在使得实现过于hacky并且在切换文档时不能很好地工作。

Windows有一个扩展的窗口样式WS_EX_PALETTEWINDOW,我尝试通过覆盖CreateParams来使用它,但这使我的浮动窗口保持在其他正在运行的应用程序之上。我需要他们只是留在我的应用程序之上,当另一个应用程序进入前台时离开。

有什么建议吗?

编辑:优选地,解决方案不应该涉及使用MDI容器,因为我需要文档窗口本身就是顶级窗口。

1 个答案:

答案 0 :(得分:0)

使用DockPanel suite。它是一个用于处理工具窗口的现成库。

此外,如果您愿意,还可以启用用户可自定义的工具窗口对接。