如何将焦点设置在表单上

问题描述 投票:0回答:2

我想把焦点放在我创建的弹出窗体上,当鼠标悬停它时,我检查了MSDN,他们说使用SetFocuse方法,但它不起作用。

我试过这个:

private void POPUPmainmanue_MouseHover(object sender, EventArgs e)
    {
        POPUPmainmanue.SetFocus();
    }
c# visual-studio
2个回答
0
投票

这很奇怪,但我在MSDN上找不到SetFocus()Form方法。

但是,使用Activate()方法效果很好。

private void POPUPmainmanue_MouseHover(object sender, EventArgs e)
{
    POPUPmainmanue.Activate();
}

此外,请务必确保您不要忘记设置EventHandler:

POPUPmainmanue.MouseHover += POPUPmainmanue_MouseHover;

你也没有提到你是使用WinForms还是WPF,虽然我认为它是前者,就像你说'形式'一样。再一次,POPUPmainmanue究竟是什么?表单?我不这么认为。表单没有SetFocus()方法。


0
投票

我不认为这很容易实现,因为问题不是很明确:当鼠标悬停在表单上时,可以将焦点设置在文本框上,而在表单打开时,可以将另一个更明确的可能性设置在表单上。

        this.BringToFront();
        this.Activate();
© www.soinside.com 2019 - 2024. All rights reserved.