2011-02-18 50 views
1

我创建了Winforms UserControl(Visual Studio 2008,3.5 Framework SP1)。我已经能够创建一些Visual Studio能够正确处理的我自己的公共属性(即表单设计器正确地对更改属性值作出反应)。如何在Winforms中为Enabled属性添加设计时支持

我想根据UserControl的Enabled属性将Enabled属性设置为CheckBox控件。这将是下UserControl1.cs:

`chkMyCheckbox.Enabled = Enabled` 

我试图把这个两下的用户控件的EnabledChanged事件并重写OnEnabledChanged方法,但也似乎赶上。这不是一个工具箱缓存问题(b/c我可以看到其他代码更改生效)。

在此先感谢, -Alan。

+5

没有意义。当禁用用户控件时,复选框也会自动禁用。 –

+0

我在想Alan想要一个复选框,它的Checked状态绑定到另一个控件的Enabled状态。再次重读这个问题,Hans Passant对这个问题的评论似乎是正确的:如果UserControl被禁用,复选框也应该已经被包含有效地禁用。我认为复选框上的Enabled属性可能仍然是true,但是当userControl.Enabled = false时,整个UserControl会被禁用。 –

+0

只是为了阐明:你知道一个texbox在禁用时会变灰么?如果它仅包含在用户控件中,则不会这样做。如何将文本框的启用属性绑定到其父控件的启用属性?我希望它看起来像它被禁用(我已经意识到它已经在功能上) – Alan

回答

0

控制在设计阶段呈现的方式取决于该控件的设计者。在设计器中,核心Win32控件不会将其自身设置为“已禁用”。

相关问题