DetailsViewDesigner.PreFilterProperties(IDictionary) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
供設計工具使用,以便在 Properties
方格的顯示畫面中,移除或加入屬性,或是遮蔽關聯控制項的屬性。
protected:
override void PreFilterProperties(System::Collections::IDictionary ^ properties);
protected override void PreFilterProperties (System.Collections.IDictionary properties);
override this.PreFilterProperties : System.Collections.IDictionary -> unit
Protected Overrides Sub PreFilterProperties (properties As IDictionary)
參數
- properties
- IDictionary
集合,實作已加入和已遮蔽屬性的 IDictionary。
範例
下列程式碼範例示範如何在設計階段覆寫 PreFilterProperties 繼承自 類別的 DetailsViewDesigner 類別中的 方法,以變更 Properties
控制項的 DetailsView 方格。 此範例會在 NamingContainer 方格中 Properties
顯示 屬性。
// Shadow the control properties with design-time properties.
protected override void PreFilterProperties(IDictionary properties)
{
// Call the base method first.
base.PreFilterProperties(properties);
// Make the NamingContainer visible in the Properties grid.
PropertyDescriptor selectProp =
(PropertyDescriptor)properties["NamingContainer"];
properties["NamingContainer"] =
TypeDescriptor.CreateProperty(selectProp.ComponentType,
selectProp, BrowsableAttribute.Yes);
} // PreFilterProperties
' Shadow the control properties with design-time properties.
Protected Overrides Sub PreFilterProperties( _
ByVal properties As IDictionary)
' Call the base method first.
MyBase.PreFilterProperties(properties)
' Make the NamingContainer visible in the Properties grid.
Dim selectProp As PropertyDescriptor = _
CType(properties("NamingContainer"), PropertyDescriptor)
properties("NamingContainer") = _
TypeDescriptor.CreateProperty(selectProp.ComponentType, _
selectProp, BrowsableAttribute.Yes)
End Sub
備註
控制項設計工具會使用衍生自 ComponentDesigner.PreFilterProperties 方法的方法,使用設計工具實作的對應設計階段屬性來陰影各種控制項屬性,以及將 Properties
屬性新增至方格或移除屬性。
DetailsView對於 控制項,方法會將 PreFilterProperties 控制項處於範本模式時,屬性 false
的物件 Fields 設定 BrowsableAttribute 為 。 這可確保無法使用 Fields
對話方塊刪除處於範本模式的資料行。
給繼承者的注意事項
PreFilterProperties(IDictionary)覆寫 方法,在設計階段屬性集合中新增屬性或變更屬性的屬性。 在執行其他處理之前,請務必先呼叫基底方法。