Usercontrol具有相当大的工具窗口

时间:2011-01-08 20:01:26

标签: c# user-controls border

在C#WinForms中,我想创建一个模仿ToolWindow外观的UserControl - 相当大,有一个标题的空间和右上角的关闭按钮。这似乎可以通过覆盖CreateParams(),使用WinUser.h中的相关常量,并为适当的鼠标事件添加自定义处理程序,但对于简单的事情来说似乎很麻烦。在我去之前,有更简单的方法吗?

2 个答案:

答案 0 :(得分:2)

真的最简单的方法是使用FormBorderStyle = SizeableToolWindow。这就是它的目的。使用Show(所有者)重载显示它,使其始终位于主窗口的顶部。如果你想抢救UserControl,那么只需Dock =填写表格。尽管暴露其属性变得更加干净。

查看Weifenluo的DockPanel Suite,了解类似于Visual Studio的窗口模型。

答案 1 :(得分:0)

ToolWindow是一个窗口,UserControl是一个位于窗口内的控件(如文本框,按钮等)。如果你想拥有一个相当大的UserControl并且有一个标题和一个关闭按钮,我认为你必须创建一个标题栏并关闭按钮和大小夹点作为控件本身的一部分。

你需要在“关闭”时从其父控件中删除控件,并在“调整大小”时使用大小夹点调整其父控件的大小。