我一直在用户控件上使用[System.ComponentModel.ReadOnly]来防止设计器设置属性,但我已经阅读了一些指示 [DesignerSerializationVisibility(DesignerSerializationVisibility .Hidden)]应该用于此目的。哪个是对的?如果它不是[System.ComponentModel.ReadOnly],应该何时使用这个属性?停止窗体设计器设置属性的属性
2
A
回答
4
那么,它是这样做的,但不是它的意图。 [ReadOnly(true)]阻止用户修改属性窗口中的属性。它仍然显示,但灰色。这实际上有用的可能性很小,我想不出一个好例子。可能的角落情况是一个自定义的TypeDescriptor,它根据其他属性值动态更改只读状态。但那是火箭科学。
您通常使用[Browsable(false)]来防止该属性出现。和DesignerSerializationVisibility.Hidden可以阻止代码序列化程序在InitializeComponent()方法中保留一个值,如果用户不能修改它,那么该方法不太可能有用。尽管[DefaultValue]通常会确保这一点。因人而异。
相关问题
- 1. Windows窗体的推荐设置/属性
- 2. 设置属性的属性
- 3. 窗体动作属性设置为?
- 4. MS Access从子项属性设置父窗体属性
- 5. 用于访问窗体设计器中的自定义属性的属性
- 6. 如何将属性添加到实体框架设计器的属性窗口
- 7. 如何停止Visual Studio为设计器中的控件生成属性设置?
- 8. 属性设置器类型的其他值设置为属性?
- 9. 设置属性
- 10. 设置属性
- 11. 设计器重置属性值
- 12. 设置-QADGroup,设置属性
- 13. F#属性设计
- 14. 模拟属性设置器
- 15. 异步属性设置器
- 16. 如何从子窗体设置父窗体WindowState属性?
- 17. 以windows窗体设置web浏览器控件的innerHtml属性
- 18. 使用Windows窗体设计器将属性绑定到控件
- 19. 设置从父母的属性属性
- 20. 无法设置属性的属性
- 21. 未设置属性的属性?
- 22. 根据实体属性列表设置单个实体属性
- 23. 设置'ControlToValidate'属性后自定义验证器停止工作
- 24. Rails嵌套窗体属性建设
- 25. 设置子窗口的onload属性
- 26. 如何防止Windows窗体设计器为属性生成默认值分配?
- 27. 设置pandas.Panel.minor_xs('属性')
- 28. 设置属性值
- 29. 设置QTMovie属性
- 30. 设置slf4j属性
谢谢我希望能够设置我标记在控件的属性,我标记的控件/窗体的构造函数中的属性。当我使用ReadOnly时,它似乎在设计师中引起了MethodNotFound异常 - 是否可以预期? – Shane
嗯,没有。这是一个简单的异常生成,只是修改控件而不从表单中删除它首先可以做到这一点。我不应该要求我用这么小的信息来猜测,点击Ask Question按钮。 –