ConfigurationElement.LockItem Property   
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets a value indicating whether the element is locked.
public:
 property bool LockItem { bool get(); void set(bool value); };public bool LockItem { get; set; }member this.LockItem : bool with get, setPublic Property LockItem As BooleanProperty Value
true if the element is locked; otherwise, false. The default is false.
Exceptions
The element has already been locked at a higher configuration level.
Examples
The following example shows how to use the LockItem.
// Show how to set LockItem
// It adds a new UrlConfigElement to 
// the collection.
static void LockItem()
{
    string name = "Contoso";
    string url = "http://www.contoso.com/";
    int port = 8080;
    try
    {
        // Get the current configuration file.
        System.Configuration.Configuration config =
            ConfigurationManager.OpenExeConfiguration(
            ConfigurationUserLevel.None);
        // Get the MyUrls section.
        UrlsSection myUrls =
           config.Sections["MyUrls"] as UrlsSection;
        // Create the new  element.
        UrlConfigElement newElement =
            new UrlConfigElement(name, url, port);
        // Set its lock.
        newElement.LockItem = true;
        // Save the new element to the 
        // configuration file.
        if (!myUrls.ElementInformation.IsLocked)
        {
            myUrls.Urls.Add(newElement);
            config.Save(ConfigurationSaveMode.Full);
            // This is used to obsolete the cached 
            // section and read the updated 
            // bersion from the configuration file.
            ConfigurationManager.RefreshSection("MyUrls");
        }
        else
            Console.WriteLine(
                "Section was locked, could not update.");
    }
    catch (ConfigurationErrorsException e)
    {
        Console.WriteLine("[LockItem: {0}]",
            e.ToString());
    }
}
' Show how to set LockItem
' It adds a new UrlConfigElement to 
' the collection.
Shared Sub LockItem()
    Dim name As String = "Contoso"
    Dim url As String = "http://www.contoso.com/"
    Dim port As Integer = 8080
    Try
        ' Get the current configuration file.
        Dim config _
        As System.Configuration.Configuration = _
        ConfigurationManager.OpenExeConfiguration( _
        ConfigurationUserLevel.None)
        ' Get the MyUrls section.
        Dim myUrls As UrlsSection = _
        config.Sections("MyUrls")
        ' Create the new  element.
        Dim newElement _
        As New UrlConfigElement(name, url, port)
        ' Set its lock.
        newElement.LockItem = True
        ' Save the new element to the 
        ' configuration file.
        If Not myUrls.ElementInformation.IsLocked Then
            myUrls.Urls.Add(newElement)
            config.Save(ConfigurationSaveMode.Full)
            ' This is used to obsolete the cached 
            ' section and read the updared version 
            ' from the configuration file.
            ConfigurationManager.RefreshSection("MyUrls")
        Else
            Console.WriteLine("Section was locked, could not update.")
        End If
    Catch e As ConfigurationErrorsException
        Console.WriteLine("[LockItem: {0}]", _
        e.ToString())
    End Try
End Sub
Remarks
Use the LockItem property if you want to put a general lock on the element itself and its child elements.