假设我创建了一个嵌入轨道栏的自定义控件。我还为自定义控件创建了一个orientation属性。 当我在表单上删除自定义控件时,它将是水平的。然后我将其设置为垂直,轨迹栏应该在设计时刷新为垂直。
怎么做?
答案 0 :(得分:4)
我认为您应该在更改值后调用Refresh()
:
public OrientationProperty Direction
{
get
{
return _direction;
}
set
{
_direction = value;
if (DesignMode)
{
Parent.Refresh(); // Refreshes the client area of the parent control
}
}
}
private OrientationProperty _direction;
答案 1 :(得分:0)
这是我解决此问题的方法: 1.每当您设置某物属性时,就在setter中调用Invalidate()。 2.实施相应的属性和刷新方法(例如,重写的OnPaint)后,重新构建!!!然后您将看到在设计时生效的修改 3.在设计过程中,请始终检查是否存在编译错误,因为这可能会使VS停止执行其所有任务。
有了这个,当我将控件放在窗体上并调整其自身的属性时,刷新会立即按预期进行。
PS .:较旧的帖子,但至少也验证了VS2015中的行为:)