.NET Framework Class Library
ConfigurationElementLockAllElementsExcept Property

Gets the collection of locked elements.

Namespace:   System.Configuration
Assembly:  System.Configuration (in System.Configuration.dll)
Syntax
Public ReadOnly Property LockAllElementsExcept As [%$TOPIC/ms134147_en-us_VS_110_1_0_0_0_0%]
public [%$TOPIC/ms134147_en-us_VS_110_1_0_1_0_0%] LockAllElementsExcept { get; }
public:
property [%$TOPIC/ms134147_en-us_VS_110_1_0_2_0_0%]^ LockAllElementsExcept {
	[%$TOPIC/ms134147_en-us_VS_110_1_0_2_0_1%]^ get ();
}
member LockAllElementsExcept : [%$TOPIC/ms134147_en-us_VS_110_1_0_3_0_0%] with get
Remarks

The LockAllElementsExcept property allows you to lock all the elements at once, except for the one you specify.

NoteNote

The LockAllElementsExcept property allows you to prevent the child configuration elements of the element to which you apply the rule from being modified. Use the LockItem property if you want to put a general lock on the element itself and its child elements.

Examples

The following example shows how to use the LockAllElementsExcept property.

    ' Show how to use LockAllElementsExcept. 
    ' It locks and unlocks all the MyUrls elements  
    ' except urls. 
    Shared Sub LockAllElementsExcept()

        Try 
            ' Get the current configuration file. 
            Dim config _
            As System.Configuration.Configuration = _
            ConfigurationManager.OpenExeConfiguration( _
            ConfigurationUserLevel.None)

            ' Get the MyUrls section. 
            Dim myUrlsSection As UrlsSection = _
            config.GetSection("MyUrls")

            If myUrlsSection Is Nothing Then
                Console.WriteLine("Failed to load UrlsSection.")
            Else 

                ' Get MyUrls section LockElements collection. 
                Dim lockElementsExcept _
                As ConfigurationLockCollection = _
                myUrlsSection.LockAllElementsExcept

                ' Get MyUrls section LockElements collection  
                ' enumerator. 
                Dim lockElementEnum As IEnumerator = _
                lockElementsExcept.GetEnumerator()

                ' Position the collection index.
                lockElementEnum.MoveNext()

                If lockElementsExcept.Contains("urls") Then 
                    ' Remove the lock on all the ther elements.
                    lockElementsExcept.Remove("urls")
                    ' Add the lock on all the other elements  
                    ' but urls element. 
                Else
                    lockElementsExcept.Add("urls")
                End If

                config.Save(ConfigurationSaveMode.Full)
            End If 
        Catch err As ConfigurationErrorsException
            Console.WriteLine("[LockAllElementsExcept: {0}]", _
            err.ToString())
        End Try 

    End Sub 'LockAllElementsExcept
// Show how to use LockAllElementsExcept. 
// It locks and unlocks all the MyUrls elements  
// except urls. 
static void LockAllElementsExcept()
{

    try
    {
        // Get the configuration file.
        System.Configuration.Configuration config =
            ConfigurationManager.OpenExeConfiguration(
            ConfigurationUserLevel.None);

        // Get the MyUrls section.
        UrlsSection myUrlsSection =
            config.GetSection("MyUrls") as UrlsSection;

        if (myUrlsSection == null)
            Console.WriteLine("Failed to load UrlsSection.");
        else
        {

            // Get MyUrls section LockElements collection.
            ConfigurationLockCollection lockElementsExcept =
                myUrlsSection.LockAllElementsExcept;

            // Get MyUrls section LockElements collection  
            // enumerator.
            IEnumerator lockElementEnum =
                 lockElementsExcept.GetEnumerator();

            // Position the collection index.
            lockElementEnum.MoveNext();

            if (lockElementsExcept.Contains("urls"))
                // Remove the lock on all the ther elements.
                lockElementsExcept.Remove("urls");
            else 
                // Add the lock on all the other elements  
                // but urls element.
                lockElementsExcept.Add("urls");


            config.Save(ConfigurationSaveMode.Full);
        }
    }
    catch (ConfigurationErrorsException err)
    {
        Console.WriteLine("[LockAllElementsExcept: {0}]",
            err.ToString());
    }
}
Version Information

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Platforms

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.