2013-04-17 29 views
1

我有點奇怪的問題。取決於Windows版本的屬性屬性

Win8中的WinForms有一些關於Encoding 1252(已確認)的錯誤。

我有一個帶有Encoding類的公共屬性的usercontrol(用戶可以在設計時選擇編碼)。

當前,當用戶在Win8環境中使用我的控件的dll時,我想從屬性網格中隱藏該屬性。

我要立足於:Operating System Version

,並希望通過隱藏屬性DesignerVisibility財產。

所以我的問題是:當我查找Windows版本的Environment.OSVersion時如何隱藏屬性?

PS想法可能長得難看,我可以用另一個類或任何你可以提出,我只需要隱藏屬性網格這個屬性在Windows 8的情況下

回答

0

你可以嘗試這樣的事情,顯示了前物業網格對象:

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