This document is archived and information here might be outdated.  Recommended version.

ICustomizationFilter Interface (ArcObjects .NET 10.7 SDK)
ArcObjects Help for .NET developers > ArcObjects Help for .NET developers > ArcObjects namespaces > Framework > ESRI.ArcGIS.Framework > Interfaces > IC > ICustomizationFilter Interface
ArcGIS Developer Help

ICustomizationFilter Interface

Provides access to members that define a customization filter.

Product Availability

Available with ArcGIS Desktop.


A customization filter provides a mechanism to lock parts of the customization functionality in the ArcGIS applications. You should only use customization filters in locked down applications where you have complete control of the application setup and how the users interact with that application.

When To Use

To create a custom customization filter you would implement the ICustomizationFilter interface in a class module. The ICustomizationFilter interface has an OnCustomizationEvent event that gets fired whenever a user attempts any type of customization.


Name Description
Method OnCustomizationEvent Occurs when certain types of customization occur.

Classes that implement ICustomizationFilter

Classes Description


To activate your customization filter you would pass it into the IApplication::LockCustomization method. You can make the call to LockCustomization in a simple VBA macro, in the MxDocument_OpenDocument or MxDocument_NewDocument event in VBA, or in an extension. If this is done in a macro or the open document event in VBA, make sure that the VBA project has a reference the class that implements the customization filter.

If the customization filter is applied in an extension, you must be aware of the application start up sequence in order for this to work correctly. Also be aware that your customization filter applied by an extension may override other locking logic that might be saved in an existing ArcMap document or that another extension might activate a customization filter before your extension is even loaded. There can only be one active customization filter in a running application.

See Also

IApplication.LockCustomization Method