EmptyControlCollection Constructor (Control)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Initializes a new instance of the EmptyControlCollection class.

Namespace:   System.Web.UI
Assembly:  System.Web (in System.Web.dll)

Public Sub New (
	owner As Control


Type: System.Web.UI.Control

The Control that owns this collection as its collection of child controls.

The following code example attempts to populate a control with child controls, causing an exception. This is because the container control does not allow child controls. The following is the command line used to build the executable.

vbc /r:System.dll /r:System.Web.dll /t:library

' File name: emptyControlCollection.vb.

Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Collections

Namespace CustomControls 

  Public Class MyVB_EmptyControl 
    Inherits Control

    <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
    Protected Overrides Function CreateControlCollection() As ControlCollection
    ' Function Name: CreateControlCollection.
    ' Denies the creation of any child control by creating an empty collection.
    ' Generates an exception if an attempt to create a child control is made.
      Return New EmptyControlCollection(Me)
    End Function 

    <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _  
    Protected Overrides Sub CreateChildControls()
    ' Sub Name: CreateChildControls.
    ' Populates the child control collection (Controls). 
    ' Note: This function will cause an exception because the control does not allow 
    ' child controls.
      Dim text As LiteralControl
      text = New LiteralControl("<h5>Composite Controls</h5>")
    End Sub 
  End Class 

End Namespace 

The following code example uses the empty custom control defined above. When running this example, you will get an exception. Notice that the values shown in the Register directive reflect the previous command line.

<%@ Register TagPrefix="custom" Assembly="vb_myEmptyControlCollection" Namespace="CustomControls" %>
  <h1>Using an Empty Control</h1>
  <custom:MyVB_EmptyControl id="vbEmptyControlId" runat="server"/>

.NET Framework
Available since 1.1
Return to top