属性属性取决于Windows版本

时间:2013-04-17 13:13:23

标签: .net winforms windows-8 character-encoding propertygrid

我有点奇怪的问题。

Win8中的WinForms有一些关于编码1252的错误(已确认)。

我的usercontrol具有Encoding类的公共属性(用户可以在设计时选择编码)。

目前,当用户在Win8环境中使用我的控件的dll时,我想要从属性网格中隐藏该属性。

我想依据:Operating System Version

并希望通过DesignerVisibility属性隐藏属性。

所以我的问题是:当我通过Environment.OSVersion查找Windows版本时如何隐藏属性?

PS Idea可能看起来很丑,我可以使用其他类或任何你可以建议的东西,我只需要在Windows 8的情况下在属性网格中隐藏此属性

1 个答案:

答案 0 :(得分:0)

在显示属性网格对象之前,您可以尝试这样的事情:

if (IsWindows8()
{
    TypeDescriptor.AddAttributes(typeof(Encoding), new BrowsableAttribute(false));
}
propertyGrid1.SelectedObject = myObject;