How to toggle the visibility of an HTML element in WinForms HTMLUIControl at runtime?
Cell toggle
Each HTML element in the HTMLUI has an xVisible attribute by default that helps the user to toggle the visibility of a particular element. Since the xVisible is a bool property the value to be set is either true or false as string.
The following code snippet shows how an element's visibility is toggled on the execution of an event.
C#
IHTMLElement image = Global.Document.GetElementByUserId("img");
image.Click += new EventHandler(image_Click);
IHTMLElement[] elem = this.htmluiControl1.Document.GetElementsByName("td");
public void image_Click(object sender, EventArgs e)
{
string visibleString = "";
htmluiControl1.BeginUpdate();
if(this.bDescriptionHidden == false)
visibleString = "false";
else
visibleString = "true";
this.bDescriptionHidden = !this.bDescriptionHidden;
foreach (IHTMLElement description in elem)
{
if(description.ID == "tdpopup")
description.Attributes["xVisible"].Value = visibleString;
}
htmluiControl1.EndUpdate();
this.htmluiControl1.Refresh();
}
VB
Private image As IHTMLElement = Global.Document.GetElementByUserId("img")
Private image.Click += New EventHandler(image_Click)
Private elem As IHTMLElement() = Me.htmluiControl1.Document.GetElementsByName("td")
Public Sub image_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim visibleString As String = ""
htmluiControl1.BeginUpdate()
If Me.bDescriptionHidden = False Then
visibleString = "false"
Else
visibleString = "true"
End If
Me.bDescriptionHidden = Not Me.bDescriptionHidden
For Each description As IHTMLElement In elem
If description.ID = "tdpopup" Then
description.Attributes("xVisible").Value = visibleString
End If
Next description
htmluiControl1.EndUpdate()
Me.htmluiControl1.Refresh()
End Sub