C# 如何在Winforms中为Enabled属性添加设计时支持

C# 如何在Winforms中为Enabled属性添加设计时支持,c#,.net,winforms,user-controls,C#,.net,Winforms,User Controls,我已经创建了一个Winforms用户控件(VisualStudio2008,3.5框架SP1)。我已经能够创建一些自己的公共属性,VisualStudio能够正确处理这些属性(即表单设计器对更改的属性值做出正确的反应) 我想根据UserControl的Enabled属性将Enabled属性设置为CheckBox控件。这将在UserControl1.cs下: `chkMyCheckbox.Enabled = Enabled` 我尝试将其置于UserControl的EnabledChanged事

我已经创建了一个Winforms用户控件(VisualStudio2008,3.5框架SP1)。我已经能够创建一些自己的公共属性,VisualStudio能够正确处理这些属性(即表单设计器对更改的属性值做出正确的反应)

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

 `chkMyCheckbox.Enabled = Enabled`
我尝试将其置于UserControl的EnabledChanged事件下,并重写OneEnabledChanged方法,但两种方法似乎都不适用。这不是工具箱缓存问题(b/c我可以看到其他代码更改生效)

提前感谢,,
-Alan.

控件在设计时的呈现方式取决于该控件的设计者。在设计器中,核心Win32控件不会将自己呈现为禁用状态。

控件在设计时的呈现方式取决于该控件的设计器。在设计器中,核心Win32控件不会显示为禁用状态。

没有意义。当用户控件被禁用时,复选框也会自动禁用。我想Alan想要一个复选框,其选中状态与另一个控件的启用状态关联。再次阅读该问题,Hans Passant对该问题的评论似乎是正确的:如果复选框位于被禁用的UserControl上,那么该复选框也应该通过包含而被有效禁用。我认为复选框上的Enabled属性可能仍然为true,但当UserControl.Enabled=false时,整个UserControl将被禁用。只是想澄清一下:您知道禁用texbox时,texbox将如何变灰吗?如果它只是包含在用户控件中,它就不会这样做。如何将textbox的enabled属性绑定到其父控件的enabled属性?我希望它看起来像是被禁用的(我意识到它在功能上已经被禁用了)仍然很混乱。这是设计师问题还是运行时问题?在运行时,当父UserControl被禁用时,UserControl上的所有控件在功能上和视觉上都被禁用。在设计时,无论container.design-time如何,控件都不会以图形方式禁用。在运行时工作,没有意义。当用户控件被禁用时,复选框也会自动禁用。我想Alan想要一个复选框,其选中状态与另一个控件的启用状态关联。再次阅读该问题,Hans Passant对该问题的评论似乎是正确的:如果复选框位于被禁用的UserControl上,那么该复选框也应该通过包含而被有效禁用。我认为复选框上的Enabled属性可能仍然为true,但当UserControl.Enabled=false时,整个UserControl将被禁用。只是想澄清一下:您知道禁用texbox时,texbox将如何变灰吗?如果它只是包含在用户控件中,它就不会这样做。如何将textbox的enabled属性绑定到其父控件的enabled属性?我希望它看起来像是被禁用的(我意识到它在功能上已经被禁用了)仍然很混乱。这是设计师问题还是运行时问题?在运行时,当父UserControl被禁用时,UserControl上的所有控件在功能上和视觉上都被禁用。在设计时,无论container.design-time如何,控件都不会以图形方式禁用。在运行时工作。