我一直在用户控件上使用[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. MS Access从子项属性设置父窗体属性
- 4. 用于访问窗体设计器中的自定义属性的属性
- 5. 如何将属性添加到实体框架设计器的属性窗口
- 6. 设置属性
- 7. 设计器重置属性值
- 8. F#属性设计
- 9. 模拟属性设置器
- 10. 如何从子窗体设置父窗体WindowState属性?
- 11. 设置从父母的属性属性
- 12. 未设置属性的属性?
- 13. 无法设置属性的属性
- 14. Rails嵌套窗体属性建设
- 15. 如何防止Windows窗体设计器为属性生成默认值分配?
- 16. 设置QTMovie属性
- 17. 设置属性值
- 18. 设置HTML属性
- 19. 设置slf4j属性
- 20. 设置ViewSheetSetting.InSession.Views属性
- 21. scalacheck属性设置
- 22. C#设置属性
- 23. ODOO:在属性中设置属性的具体值
- 24. C#MEF设置属性/属性注入
- 25. 设置.Top属性,删除Anchor属性
- 26. 使用属性设置布尔属性
- 27. 设置属性值使用属性名
- 28. 实体属性值表设计
- 29. 设计属性的提示?
- 30. 如何设置计算属性的值
谢谢我希望能够设置我标记在控件的属性,我标记的控件/窗体的构造函数中的属性。当我使用ReadOnly时,它似乎在设计师中引起了MethodNotFound异常 - 是否可以预期? – Shane
嗯,没有。这是一个简单的异常生成,只是修改控件而不从表单中删除它首先可以做到这一点。我不应该要求我用这么小的信息来猜测,点击Ask Question按钮。 –