如何将可编辑的组合框添加到System.Windows.Forms.PropertyGrid?

时间:2012-03-20 15:50:58

标签: c# .net propertygrid typeconverter

我有System.Windows.Forms.PropertyGrid个不同类型的值。对于特定项目,我想显示一个有用的值列表供您选择。用户还可以键入新值。类似于传统下拉组合框的东西:

enter image description here

到目前为止,我有自己的System.ComponentModel.TypeConverter,但我无法弄清楚如何通过建议值获得下拉列表和直接编辑值的可能性。请帮忙!

2 个答案:

答案 0 :(得分:7)

您可以通过实施自己的UITypeEditor来完成此操作。

我建议阅读Getting the Most Out of the .NET Framework PropertyGrid Control。特别是,标题为Providing a Custom UI for Your Properties的部分介绍了如何为特定属性进行自定义控制。

答案 1 :(得分:6)

很容易。在StringConverter false GetStandardValuesExclusiveinternal class cmbKutoviNagiba : StringConverter { public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) { return FALSE; // <----- just highlight! remember to write it lowecase } public override TypeConverter.StandardValuesCollection GetStandardValues( ITypeDescriptorContext context) { string[] a = { "0", "15", "30", "45", "60", "75", "90" }; return new StandardValuesCollection(a); } public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return true; } } 就是这样。

看这里:

FALSE

我用大写字母写了{{1}},只是为了让你更容易看到它。请用小写字母写下:)