LoginDesigner.PreFilterProperties(IDictionary) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
供設計工具使用,以便在 [屬性] 方格的顯示中移除屬性或新增屬性,或是遮蔽關聯控制項的屬性。
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。
範例
下列程式碼範例會建立衍生自 LoginDesigner 的類別,並覆寫 PreFilterProperties 方法,以在設計階段變更控制項的 Login Properties 方格。 此範例會在 NamingContainer [屬性 ] 方格中顯示內容。
// 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 方法的方法,使用設計工具實作的對應設計階段屬性來陰影各種控制項屬性,以及將屬性新增至 [屬性] 方格或從 [屬性 ] 方格中移除屬性。
LayoutTemplate如果已為 Login 控制項定義屬性,則會 PreFilterProperties 設定 BrowsableAttribute 範本化 false
時不適用的屬性屬性,讓這些屬性不會出現在 [屬性] 方格中。
給繼承者的注意事項
PreFilterProperties(IDictionary)覆寫 方法,在設計階段屬性集合中新增屬性或變更屬性的屬性。 在執行其他處理之前,請務必先呼叫基底方法。