有时我的UserControl的Visible属性无法正确更新。它发生在我的应用程序启动时,在OnFontChanged中,从InitializeComponent内部触发,可能是因为尚未设置其他一些东西。我只是找不到什么。
vScrollBar
是一个UserControl,位于另一个UserControl中。显然,只有在尝试将值设置为true时才会发生这种情况。
vScrollBar
已经创建了它的句柄,因为IsHandleCreated的监视说它是真的。
答案 0 :(得分:7)
读取Visible属性可以获得控件的实际可见性状态,而不是“预期”状态。在InitializeComponent()方法中始终为false,表单或控件在在 Load事件运行之后才可见。如果容器控件不可见,它也将是错误的。
答案 1 :(得分:1)
如果未加载表单,它仍可能显示为false。尝试在Form的OnLoad事件中进行设置。