1

我有一个奇怪的问题。

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

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

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

我想基于:操作系统版本

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

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

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

4

1 回答 1

0

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

if (IsWindows8()
{
    TypeDescriptor.AddAttributes(typeof(Encoding), new BrowsableAttribute(false));
}
propertyGrid1.SelectedObject = myObject;
于 2013-04-18T08:24:45.247 回答