我一直在用戶控件上使用[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按鈕。 –