我有一个我始终想要强调的生产应用程序。有时候用户会意外地点击表格,蓝色的聚焦窗口会变成灰色。我有一个每30秒触发一次的计时器,并且我想以编程方式将焦点返回到表格,以便从灰色变回蓝色。我试过使用.focus事件和.activecontrol属性,但这些似乎都没有工作,我没有看到任何其他可行的选项。当然有办法做到这一点,虽然对吗?我在VB.Net中使用Visual Studio 2008。强制关注内置.NET的桌面应用程序
请指教。
我有一个我始终想要强调的生产应用程序。有时候用户会意外地点击表格,蓝色的聚焦窗口会变成灰色。我有一个每30秒触发一次的计时器,并且我想以编程方式将焦点返回到表格,以便从灰色变回蓝色。我试过使用.focus事件和.activecontrol属性,但这些似乎都没有工作,我没有看到任何其他可行的选项。当然有办法做到这一点,虽然对吗?我在VB.Net中使用Visual Studio 2008。强制关注内置.NET的桌面应用程序
请指教。
不,没有办法[再]。即使你将注意力集中在一个应用程序上,你所希望的最好的方式是它在任务栏中的图标会闪烁三次。感谢基督,他们解决了这个问题(因为我认为XP)?当我看到你的观点时,对用户来说这种行为是地狱般的。他们应该控制他们的操作系统和应用程序,而不是你。抱歉!
我已经有幸使用属性this.TopMost = true;
private void frmMain_Shown(object sender, EventArgs e)
{
// Make this form the active form and make it TopMost
this.ShowInTaskbar = false;
this.TopMost = true;
this.Focus();
this.BringToFront();
this.TopMost = false;
}
你可以试着制作一个函数并从你的计时器代码中调用它。 (对不起,它是在C#中)。
谢谢。我试了一下,但它不适合我:( – 2010-08-02 16:44:17
这是我用来当用户单击通知气球将焦点设置回我的应用程序:
'My app is maximized always, so change this as you need. WindowState focuses your application
Me.WindowState = FormWindowState.Maximized
'Bring the desired from to fucos
MyForm.Activate()
只要运行它最大化,所以没有什么点击。 – 2010-07-30 18:46:20
即使做了最大化的窗口,仍然可以点击窗口。 – 2010-08-02 16:45:44