如何始终保持浏览器焦点
How to always keep browser on focus
当我单击单选按钮或浏览选项卡时,我的 geckofx 网络浏览器失去了焦点。我可以通过使用 browser.Focus() 重新集中注意力,它运行良好,但如果有两个选项卡 1tab 和 2tab。在 2tab 上是我的网络浏览器。当我转到 tab1 时,我在 tab2 中的浏览器失去焦点并且命令 browser.Focus() 将无法工作。每次我在我的 UI gecko 上做一些事情时,这真的很烦人。有什么方法可以让我始终保持专注?
谢谢。
编辑:
我考虑过让 UI 元素不关注它们,这样浏览器就不会失去焦点。
enter link description here
找到了这个,使用了那个 class 并且它适用于按钮。我会尝试在选项卡上执行此操作。
很简单。首先在 Form_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_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();
}
}
当我单击单选按钮或浏览选项卡时,我的 geckofx 网络浏览器失去了焦点。我可以通过使用 browser.Focus() 重新集中注意力,它运行良好,但如果有两个选项卡 1tab 和 2tab。在 2tab 上是我的网络浏览器。当我转到 tab1 时,我在 tab2 中的浏览器失去焦点并且命令 browser.Focus() 将无法工作。每次我在我的 UI gecko 上做一些事情时,这真的很烦人。有什么方法可以让我始终保持专注?
谢谢。
编辑: 我考虑过让 UI 元素不关注它们,这样浏览器就不会失去焦点。 enter link description here 找到了这个,使用了那个 class 并且它适用于按钮。我会尝试在选项卡上执行此操作。
很简单。首先在 Form_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_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();
}
}