如何在属性网格中的自定义字段中显示like-values?

时间:2009-03-04 22:47:50

标签: c# winforms propertygrid

我有一个属性网格,可以帮助我管理表单上的所有控件。这些控件适用于设计人员类型的人员,因此我并不担心用户界面......直到有人选择多个对象。

我在这些常见对象上有“BottomDiameter”属性的UITypeEditor。它跟踪单位(米与英尺),并在飞行中做一些好事。但是,当有人选择两个或三个公共对象时,BottomDiameter为空,即使它评估为相同的文本字符串。

我认为它是空白的原因是它实际上是三个独立的objDiameter对象。如何判断属性网格的行为与所有其他属性一样,并显示值,如果它的计算结果为相同的字符串???

UPDATE:例如,“Anchor”属性的文本输出为“Top,Right”,但是当你将其向下拉时,它就是一个对象。但是,当您在表单上选择五个具有相同Anchor设置的对象时,您仍然可以在属性网格中看到字符串“Top,Right”。

2 个答案:

答案 0 :(得分:0)

在归因于BottomDiameter属性的数据类型的TypeConvertor中,您可能想要创建一个类似于类,类似于BottomDiameterVistor的类,它将采用数组或所选BottomDiameter的列表。覆盖BottomDiameterVistor上的to string属性,以返回属性的聚合文本值。

答案 1 :(得分:0)

如果你的BottomDiameter是一个类而不是一个简单的原语,那么你必须覆盖这个类中的Equals方法。