HtmlElement.CanHaveChildren 属性

定义

获取一个值,该值指示此元素是否可以拥有子元素。

public:
 property bool CanHaveChildren { bool get(); };
public bool CanHaveChildren { get; }
member this.CanHaveChildren : bool
Public ReadOnly Property CanHaveChildren As Boolean

属性值

如果元素可以拥有子元素,则为 true;否则为 false

示例

下面的代码示例处理 Click 上的 HtmlDocument事件。 如果之前未使用鼠标单击选择元素,代码会将该元素分配给名为 的 MoveElement私有类变量。 如果选择了某个元素,代码会尝试将其追加到刚刚单击的元素。 此代码示例要求应用程序承载一 WebBrowser 个名为 的 WebBrowser1控件,并且你已为 Click 上的 HtmlDocument事件添加了事件处理程序。

HtmlDocument doc;
HtmlElement moveElement;

private void EnableElementMove()
{
    if (webBrowser1 != null)
    {
        doc = webBrowser1.Document;
        doc.Click += new HtmlElementEventHandler(doc_Click);
    }
}

void doc_Click(object sender, HtmlElementEventArgs e)
{
    if (moveElement == null)
    {
        moveElement = webBrowser1.Document.GetElementFromPoint(e.ClientMousePosition);
    }
    else
    {
        HtmlElement targetElement = webBrowser1.Document.GetElementFromPoint(e.ClientMousePosition);
        if (targetElement.CanHaveChildren)
        {
            targetElement.AppendChild(moveElement);
            moveElement = null;
        }
    }
}
Dim WithEvents Doc As HtmlDocument
Dim MoveElement As HtmlElement

Private Sub EnableElementMove()
    If (WebBrowser1 IsNot Nothing) Then
        Doc = WebBrowser1.Document
    End If
End Sub

Private Sub Document_Click(ByVal sender As Object, ByVal args As HtmlElementEventArgs) Handles Doc.Click
    If (MoveElement Is Nothing) Then
        MoveElement = WebBrowser1.Document.GetElementFromPoint(args.ClientMousePosition)
    Else
        With WebBrowser1.Document
            Dim TargetElement As HtmlElement = .GetElementFromPoint(args.ClientMousePosition)
            If (TargetElement.CanHaveChildren) Then

                TargetElement.AppendChild(MoveElement)
                MoveElement = Nothing
            End If
        End With
    End If
End Sub

注解

某些元素(如 IMGSCRIPT)不能有任何子元素。 在对任意元素调用 AppendChildInsertAdjacentElement 之前,请使用此属性。

适用于