Visual Studio属性未显示所有枚举选项

时间:2012-04-22 15:14:22

标签: .net visual-studio-2010 enums

我创建了一个具有RotateFlipType类型属性的UserControl,此控件在另一个UserControl中使用,该UserControl相应地设置属性。

根据RotateFlipType MSDN Documentation,Enum有16个字段,但VS Property Window仅显示14个,Rotate180FlipNoneRotateNoneFlipX缺失。

我需要使用Rotate180FlipNone。通过代码设置它可以正常工作,但我真的不想那样做。

1 个答案:

答案 0 :(得分:1)

仔细查看组合框中的值。请注意,它包含重复项

enter image description here

是的,因此缺少价值观。该列表仍包含16个值。

原因是RotateFlipType的枚举值是不明确的。只有8个不同的值。与RotateNoneFlipNone类似,与Rotate180FlipXY完全相同。用一张纸试试吧。或者直观地说,有4种可能的旋转乘以2种可能的投影(原始和翻转)。所以出了什么问题是类型转换器从枚举的整数值(在0到7之间)转换回字符串。有两个可供选择,它只选择第一场比赛。

您需要编写自己的TypeConverter来将值映射到不同的字符串,即8个可能的字符串之一。您可能想要编写一个UITypeConverter,因此它更明显,例如,一个显示转换的位图。