其他分享
首页 > 其他分享> > DesignSurface中代码控制控件大小,调整边框未更新的问题

DesignSurface中代码控制控件大小,调整边框未更新的问题

作者:互联网

问题

当我将控件放在自定义DesignSurface上时,当我以编程方式更改控件的大小或位置时,调整边框边框不会更改本身。我必须取消选中,然后通过鼠标选择此控件强制重画。这导致实际窗体大小大于当前调整边框的位置。

解决方式

使用PropertyDescriptor的方法 “SetValue” 能发射“ComponentChanged “通知设计师重绘的事件。

           var frmView = (Form) host.RootComponent;
            PropertyDescriptor propertyDescriptor = TypeDescriptor.GetProperties(frmView)["Width"];
            if (propertyDescriptor != null)
            {
                propertyDescriptor.SetValue(frmView, frmView.Width);
            }

标签:控件,frmView,propertyDescriptor,边框,Width,PropertyDescriptor,DesignSurface
来源: https://www.cnblogs.com/dreamos/p/15013684.html