我了解有关Form/Control的客户区矩形概念,但我不明白Control.ClientRectangle和Control.DisplayRectangle之间的区别在哪里。
阅读了这两个属性的MSDN页面后,仍然不清楚它们何时会返回不同的值。
ClientRectangle的MSDN页面说:
控件的客户区是控件的边界,减去非客户端元素,如:标题栏、边框、滚动条和菜单。
这很清楚。
然而,DisplayRectangle的MSDN页面说:
对于基本控件类,这与客户端矩形相等。然而,继承控件可能希望更改此值,如果他们的客户区域与显示区域不同。
现在这就不那么清楚了。在继承控件中,我应该在哪里使DisplayRectangle的值不同于ClientRectangle的值?
阅读了这两个属性的MSDN页面后,仍然不清楚它们何时会返回不同的值。
ClientRectangle的MSDN页面说:
控件的客户区是控件的边界,减去非客户端元素,如:标题栏、边框、滚动条和菜单。
这很清楚。
然而,DisplayRectangle的MSDN页面说:
对于基本控件类,这与客户端矩形相等。然而,继承控件可能希望更改此值,如果他们的客户区域与显示区域不同。
现在这就不那么清楚了。在继承控件中,我应该在哪里使DisplayRectangle的值不同于ClientRectangle的值?
Control.ClientRectangle:
https://msdn.microsoft.com/en-us/library/system.windows.forms.control.clientrectangle.aspx
Control.DisplayRectangle:
https://msdn.microsoft.com/en-us/library/system.windows.forms.control.displayrectangle.aspx