HtmlElement.GotFocus Evento
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Ocorre quando o elemento recebeu o foco de entrada do usuário.
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
Exemplos
Salve o código HTML a seguir em um arquivo e carregue o arquivo em um WebBrowser controle em um projeto 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>
O exemplo de código a seguir impede que o próximo INPUT
elemento na ordem de tabulação receba o foco de entrada do usuário se o elemento anterior contiver menos de cinco caracteres. O exemplo requer que o arquivo HTML mencionado anteriormente seja carregado em uma instância do WebBrowser controle chamado 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
Comentários
Você não pode cancelar o comportamento padrão desse evento nem impedi-lo de borbulhar. Para remover o foco de um elemento, chame Focus em um elemento diferente de dentro do GotFocus evento.