我有点奇怪的问题。
Win8中的WinForms有一些关于编码1252的错误(已确认)。我的usercontrol具有Encoding类的公共属性(用户可以在设计时选择编码)。
目前,当用户在Win8环境中使用我的控件的dll时,我想要从属性网格中隐藏该属性。
并希望通过DesignerVisibility属性隐藏属性。
所以我的问题是:当我通过Environment.OSVersion查找Windows版本时如何隐藏属性?
PS Idea可能看起来很丑,我可以使用其他类或任何你可以建议的东西,我只需要在Windows 8的情况下在属性网格中隐藏此属性
答案 0 :(得分:0)
在显示属性网格对象之前,您可以尝试这样的事情:
if (IsWindows8()
{
TypeDescriptor.AddAttributes(typeof(Encoding), new BrowsableAttribute(false));
}
propertyGrid1.SelectedObject = myObject;