HtmlElement.GotFocus Evento
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Se produce cuando el elemento ha recibido el foco de entrada del usuario.
public:
event System::Windows::Forms::HtmlElementEventHandler ^ GotFocus;
public event System.Windows.Forms.HtmlElementEventHandler GotFocus;
public event System.Windows.Forms.HtmlElementEventHandler? GotFocus;
member this.GotFocus : System.Windows.Forms.HtmlElementEventHandler
Public Custom Event GotFocus As HtmlElementEventHandler
Tipo de evento
Ejemplos
Guarde el código HTML siguiente en un archivo y cargue el archivo en un WebBrowser control de un proyecto de Windows Forms.
<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>
En el ejemplo de código siguiente se impide que el siguiente INPUT
elemento del orden de tabulación reciba el foco de entrada del usuario si el elemento anterior contiene menos de cinco caracteres. El ejemplo requiere que el archivo HTML mencionado anteriormente se cargue en una instancia del WebBrowser control denominado 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.");
}
}
Dim WithEvents TargetFormElement As HtmlElement
Private Sub HandleFormFocus()
If (WebBrowser1.Document IsNot Nothing) Then
With WebBrowser1.Document
If (.Forms.Count > 0) Then
Dim TargetForm As HtmlElement = .Forms(0)
Dim SearchCollection As HtmlElementCollection = TargetForm.All.GetElementsByName("text1")
If (SearchCollection.Count = 1) Then
TargetFormElement = SearchCollection(0)
End If
End If
End With
End If
End Sub
Private Sub TargetFormElement_Focus(ByVal sender As Object, ByVal e As HtmlElementEventArgs)
Dim TextElement As HtmlElement = e.FromElement
Dim ElementText As String = TextElement.GetAttribute("value")
' Check that this value is at least five characters long.
If (ElementText.Length < 5) Then
e.ReturnValue = True
MessageBox.Show("The entry in the current field must be at least five characters long.")
End If
End Sub
Comentarios
No puede cancelar el comportamiento predeterminado de este evento ni evitar que se propaga. Para quitar el foco de un elemento, llame a Focus en un elemento diferente desde dentro del GotFocus evento.