Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows窗体控件能否具有“仅设计时”属性?_C#_Winforms_Controls_Properties_Design Time - Fatal编程技术网

C# Windows窗体控件能否具有“仅设计时”属性?

C# Windows窗体控件能否具有“仅设计时”属性?,c#,winforms,controls,properties,design-time,C#,Winforms,Controls,Properties,Design Time,我希望允许控件的用户选择控件的许可方法。选择来自枚举,因此他们必须选择我为他们列出的方法之一。需要在运行时执行代码之前选择此许可证。因此,我希望他们在设计时选择一个值。此外,如果可以避免的话,我不希望这个属性在运行时是可写的。是否有办法使属性仅在设计时可用?您可以通过为控件指定控件的设计时行为。由于控件本身只能作为运行时的实例存在,因此您不能直接在其上拥有仅在设计时设置的属性(它将存储在哪里?)。但是,设计器类仅由设计器调用和使用,因此您可以在其中封装非运行时行为。我不完全确定,但使用Syste

我希望允许控件的用户选择控件的许可方法。选择来自枚举,因此他们必须选择我为他们列出的方法之一。需要在运行时执行代码之前选择此许可证。因此,我希望他们在设计时选择一个值。此外,如果可以避免的话,我不希望这个属性在运行时是可写的。是否有办法使属性仅在设计时可用?

您可以通过为控件指定控件的设计时行为。由于控件本身只能作为运行时的实例存在,因此您不能直接在其上拥有仅在设计时设置的属性(它将存储在哪里?)。但是,设计器类仅由设计器调用和使用,因此您可以在其中封装非运行时行为。

我不完全确定,但使用
System.Component.TypeDescriptor
和相关接口可能会起作用。