我正在创建一个UserControl,它将成为GUI中其他控件的基类。
原因是我可以在控件周围绘制自定义边框。
Control具有ClientRectangle属性,该属性表示控件的客户端区域。 UserControl将此设置设置为与控件的Bounds相同的大小。
因为我在控件周围绘制了自定义边框,我想修改ClientRectangle,但我似乎无法找到一种方法来执行此操作。
以前有人这样做过吗?
谢谢!
答案 0 :(得分:0)
确定,
经过一番搜索,我找到了这个页面:
这对我有很大帮助。
但是,我必须将switch语句中的检查更改为:
....
switch (m.Msg)
{
case WM_NCCALCSIZE:
if (m.WParam != IntPtr.Zero)
{
NCCALCSIZE_PARAMS csp;
....
基本上,有许多摆弄Windows消息和绘制非客户区域。它并不完美,也不会妨碍设计师对边框进行控制。