当我将控件放在自定义DesignSurface上时,当我以编程方式更改控件的大小或位置时,调整边框边框不会更改本身。我必须取消选中,然后通过鼠标选择此控件强制重画。这导致实际窗体大小大于当前调整边框的位置。
使用PropertyDescriptor的方法 “SetValue” 能发射“ComponentChanged “通知设计师重绘的事件。
如
var frmView = (Form) host.RootComponent; PropertyDescriptor propertyDescriptor = TypeDescriptor.GetProperties(frmView)["Width"]; if (propertyDescriptor != null) { propertyDescriptor.SetValue(frmView, frmView.Width); }