WindowsFormsHost.Child Property


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

Gets or sets the child control hosted by the WindowsFormsHost element.

Namespace:   System.Windows.Forms.Integration
Assembly:  WindowsFormsIntegration (in WindowsFormsIntegration.dll)

public Control Child { get; set; }

Property Value

Type: System.Windows.Forms.Control

The hosted Windows Forms control.

Exception Condition

An attempt was made to assign a top-level form as the hosted control.

Only one child control can be hosted, but Child can have any number of children.

The child control cannot be a top-level form.

If Child is a Form, the form's ControlBox property is set to false.


  <hostedControl .../>



A WindowsFormsHost element (or a possible subclass).


An element that specifies the hosted Windows Forms control. Specifying the custom control in markup usually requires an xmlns mapping, see XAML Namespaces and Namespace Mapping for WPF XAML.

The following code example demonstrates how to use the Child property to add the hosted control to the WindowsFormsHost element. For more information, see Walkthrough: Hosting an ActiveX Control in WPF.

private void Window_Loaded(object sender, RoutedEventArgs e) 
    // Create the interop host control.
    System.Windows.Forms.Integration.WindowsFormsHost host =
        new System.Windows.Forms.Integration.WindowsFormsHost();

    // Create the ActiveX control.
    AxWMPLib.AxWindowsMediaPlayer axWmp = new AxWMPLib.AxWindowsMediaPlayer();

    // Assign the ActiveX control as the host control's child.
    host.Child = axWmp;

    // Add the interop host control to the Grid
    // control's collection of child controls.

    // Play a .wav file with the ActiveX control.
    axWmp.URL = @"C:\Windows\Media\tada.wav";

.NET Framework
Available since 3.0
Return to top