C# 如何始终保持浏览器的焦点
当我单击单选按钮或浏览选项卡时,geckofx web浏览器失去了焦点。我可以使用browser.focus()返回焦点,但如果有两个选项卡,例如1tab和2tab,则效果会很好。在2tab上是我的网络浏览器。当我转到tab1时,tab2中的浏览器会失去焦点,命令browser.focus()无法工作。每次我在UI上做一些事情时,gecko都会失去焦点,这真的很烦人。有没有办法让我的注意力始终集中 谢谢 编辑: 我考虑过让UI元素不聚焦于它们,这样浏览器就不会失去焦点。C# 如何始终保持浏览器的焦点,c#,geckofx,C#,Geckofx,当我单击单选按钮或浏览选项卡时,geckofx web浏览器失去了焦点。我可以使用browser.focus()返回焦点,但如果有两个选项卡,例如1tab和2tab,则效果会很好。在2tab上是我的网络浏览器。当我转到tab1时,tab2中的浏览器会失去焦点,命令browser.focus()无法工作。每次我在UI上做一些事情时,gecko都会失去焦点,这真的很烦人。有没有办法让我的注意力始终集中 谢谢 编辑: 我考虑过让UI元素不聚焦于它们,这样浏览器就不会失去焦点。 找到这个,使用那个类,它
找到这个,使用那个类,它与按钮一起工作。我会试着在标签上这样做。很简单。首先将此代码添加到
表单\u load
:
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.TabIndex = 0;
webBrowser1.Focus();
}
然后将所有其他控件的Tabstop属性设置为false。在每个控件单击事件时添加以下代码:webBrowser1.Focus()代码>
例如,我将此代码用于Button和RadioButton
private void radioButton1_Click(object sender, EventArgs e)
{
radioButton1.TabStop = false;
webBrowser1.Focus();
webBrowser1.LostFocus += webBrowser1_LostFocus;
}
private void button1_Click(object sender, EventArgs e)
{
button1.TabStop = false;
webBrowser1.Focus();
webBrowser1.LostFocus += webBrowser1_LostFocus;
}
对窗体中的所有其他控件执行此操作。您还需要为此定义webBrowser1\u LostFocus
void
void webBrowser1_LostFocus(object sender, EventArgs e)
{
webBrowser1.Focus();
}
更新:你也可以为聚焦留出空间。然后在你想要的任何地方使用这个空白。试试这个:
public void SetFocus(Control webbrowser)
{
// Set focus to the control.
if(webbrowser.CanFocus)
{
webbrowser.Focus();
}
}
你试过答案了吗?我真的试过放.Focus();到处都是。当我的浏览器失去焦点时,它会再次快速打开焦点。我想要实现的是永远不要放松对浏览器的关注。我尝试了javascripts,并试图使所有UI元素都不可聚焦,但这并不奏效。谢谢你的帮助。是的,谢谢。因为我找不到任何其他方法让浏览器保持专注,所以我会将此标记为答案。再次感谢。