是否可以將字符串列表附加到字符串屬性,以便用戶可以從屬性窗口中選擇一個字符串?我應該實施ICollection還是這樣的?如何使用下拉列表選項創建公共字符串屬性?
回答
如果您試圖將屬性限制爲幾個特定選項之一,則應該使用Enum而不是字符串作爲屬性。
如果你想提供默認值,但讓他們鍵入任何字符串並忽略默認值,那麼你可以使用StringConverter。詳情請閱讀Getting the Most Out of the .NET Property Grid control。它涵蓋了這個確切的場景。
我檢查了這個鏈接,但它似乎告訴你如何爲PropertyGrid對象執行此操作 - 我無法在設計時屬性窗口中使用它。我發現的一切似乎都是針對PropertyGrid控件的 - 在設計時有沒有辦法做到這一點? – alexD 2009-09-28 17:38:33
這是一回事。設計時的屬性窗口是一個PropertyGrid控件 - 如果你做它描述的內容,它將在設計時以這種方式顯示。 – 2009-09-28 17:40:37
謝謝你這個工作......我不小心在我的屬性中有錯誤的類型(有StringConverter,但我的類名是ColumnStringConverter,所以它不工作)。 – alexD 2009-09-28 22:45:41
不可以。您應該創建一個帶有字符串選項的enum
類型,並創建該類型的屬性。示例:
public enum Choices
{
NiceChoice,
PoorChoice
}
public class Chooser
{
public Choices Choice { get; set; }
}
我無法使用枚舉,因爲列表是動態生成的。基本上,當用戶爲DataGridView設置數據源時,該屬性將讀取列名稱並使用這些名稱填充列表。用戶將能夠選擇他們想要過濾的列。 – alexD 2009-09-28 17:39:34
- 1. 如何使用「新值」選項創建下拉列表?
- 2. 如何用下拉列表創建HKey屬性?
- 3. 可能創建從C類公共字符串列表#
- 4. 子類下拉列表和公共屬性
- 5. 如何使用JQuery select2()從下拉列表中選擇屬性?
- 6. 創建選項[字符串]
- 7. 如何使用laravel將屬性添加到下拉列表中的選項?
- 8. 如何使用字符串的字符創建列表?
- 9. 如何用JavaScript字典選項創建可編輯的下拉列表?
- 10. PHP - 通過查詢字符串傳遞下拉列表選項
- 11. 使用字符串設置下拉列表的默認選擇
- 12. 使用查詢字符串設置選擇在下拉列表
- 13. 如何從JTextArea創建公共字符串?
- 14. 動態創建公共屬性
- 15. 創建內部類的公共屬性?
- 16. 公共屬性創建動態對象
- 17. 如何設置選項中選擇屬性的下拉列表中選擇
- 18. 如何使用IEnumerable公共屬性?
- 19. 創建一個屬性選擇器從字符串表達式
- 20. 爲什麼MonoTouch.Dialog對某些元素選項使用公共屬性,對其他元素使用公共屬性
- 21. 從具有共享首選項的字符串創建數組列表
- 22. Magento:使用選項創建新屬性
- 23. 如何使用range()從字符串中創建數字列表?
- 24. 從列表創建字符串的屬性錯誤
- 25. 如何從下拉列表中創建公式
- 26. 更新使用下拉列表創建的下拉列表字段值使用創建
- 27. 下拉列表屬性
- 28. 如何使用無序列表創建語言選擇下拉列表?
- 29. 如何使一個雙向綁定到一個usercontrol屬性(公共字符串)?
- 30. C#VB.NET:如何使鋸齒狀字符串數組的公共屬性
還有一個問題:有沒有什麼辦法讓我將參數傳遞給TypeConverter構造函數時使用它作爲屬性?我希望能夠使用此屬性能夠創建一個字符串下拉列表屬性使用列表由用戶提供的任何類..所以它不工作,只是設置一個默認的字符串列表中的TypeConverter類。 –
alexD
2009-09-28 23:27:38
你應該在這裏標記一些答案,然後提出一個新問題,因爲這是一個新的話題。 – 2009-09-28 23:41:52