【发布时间】:2010-06-21 16:55:55
【问题描述】:
我有一个基于标签控件的自定义控件。 我的问题是当用户在设计模式下选择它时,如何更改此自定义控件周围的选择框大小。需要的是盒子太大我需要把它变小。
AutoSize 设置为 true 在我的情况下也不起作用,选择框仍然太大。
【问题讨论】:
-
为什么这么大? Text 属性设置为什么?
我有一个基于标签控件的自定义控件。 我的问题是当用户在设计模式下选择它时,如何更改此自定义控件周围的选择框大小。需要的是盒子太大我需要把它变小。
AutoSize 设置为 true 在我的情况下也不起作用,选择框仍然太大。
【问题讨论】:
您必须为您的控件创建一个基于ControlDesigner 的设计器,然后在OnPaintAdornments 事件中使用DrawFocusRectangle 方法。
ControlDesigner 类 - 扩展 http://msdn.microsoft.com/en-us/library/system.windows.forms.design.controldesigner.aspx 处的控件的设计模式行为。
扩展设计时支持http://msdn.microsoft.com/en-us/library/37899azc.aspx
ControlDesigner.OnPaintAdornments 方法http://msdn.microsoft.com/en-us/library/system.windows.forms.design.controldesigner.onpaintadornments(VS.80).aspx
ControlPaint.DrawFocusRectangle 方法http://msdn.microsoft.com/en-us/library/system.windows.forms.controlpaint.drawfocusrectangle.aspx。
【讨论】:
设计器中的选择框(并且必须)取决于控件的大小。如果你想让它更小,你的控件必须更小。无法手动控制其大小或位置。
【讨论】:
AutoSize控制你的控件的大小,这就是它控制选择框大小的原因。