HtmlElement.GotFocus 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当元素已收到用户输入焦点时发生。
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
事件类型
示例
将以下 HTML 代码保存到文件中,并将该文件加载到 WebBrowser Windows 窗体 项目中的 控件中。
<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>
如果上一个元素包含的字符少于五个字符,下面的代码示例将阻止 Tab 键顺序中的下一 INPUT
个元素接收用户输入焦点。 该示例要求将前面提到的 HTML 文件加载到名为 WebBrowser1
的控件实例WebBrowser中。
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
注解
既不能取消此事件的默认行为,也不能阻止其冒泡。 若要从元素中删除焦点,请从 事件中GotFocus对其他元素调用 Focus 。