HtmlElement.GotFocus Event

 

Occurs when the element has received user input focus.

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

public event HtmlElementEventHandler GotFocus

You can neither cancel this event's default behavior, nor prevent it from bubbling. To remove focus from an element, call Focus on a different element from within the GotFocus event.

For more information about the difference between canceling event bubbling and canceling the default action on an event, see About the DHTML Object Model.

Save the following HTML code into a file, and load the file into a WebBrowser control in a Windows Forms project.

<HTML>
    <BODY>
        <FORM name="form1">
            <INPUT type="text" size=20 name="text1">
            <INPUT type="text" size=20 name="text2">
            <INPUT type="text" size=20 name="text3">
        </FORM>
    </BODY>
</HTML>

The following code example prevents the next INPUT element in the tab order from receiving user input focus if the previous element contains less than five characters. The example requires that the previously mentioned HTML file is loaded into an instance of the WebBrowser control named WebBrowser1.

HtmlElement targetFormElement;

private void HandleFormFocus()
{
	if (webBrowser1.Document != null) 
	{
		HtmlDocument doc = webBrowser1.Document;
		if (doc.Forms.Count > 0) 
		{
			HtmlElement targetForm = doc.Forms[0];
			HtmlElementCollection searchCollection = targetForm.All.GetElementsByName("text1");
			if (searchCollection.Count == 1) 
			{
                      targetFormElement = searchCollection[0];
			}
		}
	}
}

private void TargetFormElement_Focus(Object sender, HtmlElementEventArgs e)
{
	HtmlElement textElement = e.FromElement;
	String elementText = textElement.GetAttribute("value");

	// Check that this value is at least five characters long.
	if (elementText.Length < 5)
	{
		e.ReturnValue = true;
		MessageBox.Show("The entry in the current field must be at least five characters long.");
	}
}

.NET Framework
Available since 2.0
Return to top
Show: