-1

我有一个按钮单击,我单击它会打开一个新表单。

然后我可以单击新的表单列表框和所有内容。

现在,当我想返回 Form1 并单击菜单或按钮时,我需要单击它两次,因为控件/焦点位于新打开的表单上。

在不先单击它的情况下将焦点/控件带回 Form1 的最佳方法是什么?

也许使用一个事件,如果我将鼠标移到 Form1 区域上,它会将焦点/控件带到 Form1 上?

这就是我打开/显示新表单的方式:

if (toolStripComboBox2.SelectedIndex == -1 && toolStripComboBox1.SelectedIndex == -1)
{
}
else
{
    Lightnings_Extractor.Lightnings_Mode lightningsmode1 = new Lightnings_Extractor.Lightnings_Mode(this);
    lightningsmode1.Show();
}

即使新表单打开而不关闭,我也想这样做,因为它会返回到 Form1,因此控件/焦点将位于 Form1 上。而且,如果我关闭/退出新表单,则控件/焦点将自动位于 Form1 上,而无需先单击它区域。

4

1 回答 1

1

您可以使用MouseEnter事件来检测鼠标何时悬停在表单上。要让它获得焦点,你只需要用This.Focus()它把它带到前面。

编辑:代码将在form1;您要关注的表单。

希望这对你有帮助!

于 2013-01-12T23:21:15.513 回答