Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我如何判断我的计划是否是重点计划?_C#_.net_Winforms_Focus - Fatal编程技术网

C# 我如何判断我的计划是否是重点计划?

C# 我如何判断我的计划是否是重点计划?,c#,.net,winforms,focus,C#,.net,Winforms,Focus,我找不到一个好的答案 我特别要问的是,我如何判断我的程序winforms是否对用户可见,并且它是集中的?例如,当您使用Skype时,它可以判断它是否是聚焦的和可见的。如果您收到Skype IM,并且程序不可见或隐藏在其他窗口后/最小化,则会发出通知。如果Skype知道它是最具焦点的应用程序,它不会费心发出通知,因为它假定您正在使用它 现在,我尝试了一下,如果这个.Focused==真的,但它似乎根本不起作用。它说不出我正在将焦点放在Windows资源管理器上,而我自己的程序在它的后面,没有焦点,

我找不到一个好的答案

我特别要问的是,我如何判断我的程序winforms是否对用户可见,并且它是集中的?例如,当您使用Skype时,它可以判断它是否是聚焦的和可见的。如果您收到Skype IM,并且程序不可见或隐藏在其他窗口后/最小化,则会发出通知。如果Skype知道它是最具焦点的应用程序,它不会费心发出通知,因为它假定您正在使用它


现在,我尝试了一下,如果这个.Focused==真的,但它似乎根本不起作用。它说不出我正在将焦点放在Windows资源管理器上,而我自己的程序在它的后面,没有焦点,顶部是灰色的。

一种更简单的方法是使用事件

这是一篇关于这方面的优秀文章

在活动中,你可以用你的表格做任何你想做的事情。 ^
我添加了以上内容,因为这可能是Skype使用的。如果你想在任何时候检查它是否集中,只需将一个公共bool focused=true;并在事件内部将其设置为true或false。

一种更简单的方法是使用事件

这是一篇关于这方面的优秀文章

在活动中,你可以用你的表格做任何你想做的事情。 ^
我添加了以上内容,因为这可能是Skype使用的。如果你想在任何时候检查它是否集中,只需将一个公共bool focused=true;并在事件内部将其设置为true或false。

我刚刚测试了它,它的工作方式正是我想要的!我可以检查Form.ActiveForm是否为null:如果为null,则它没有焦点;如果它不是空的,它有焦点

我刚刚测试过,它的工作方式正是我想要的!我可以检查Form.ActiveForm是否为null:如果为null,则它没有焦点;如果它不是空的,它有焦点

我已经尝试了this.Leave和this.LostFocus事件,但是当我失去窗体的焦点时它不会启动。。。当我使用表单的LostFocus/Leave事件时,它不起作用吗?除了焦点不起作用之外,您可以发布更多信息吗。告诉我们您打算做什么。当我的表单失去/获得焦点时,事件没有触发。。。它基本上什么也没做。。。谢天谢地,我找到了自己问题的答案!我已经尝试了this.Leave和this.LostFocus事件,但是当我失去窗体的焦点时它不会启动。。。当我使用表单的LostFocus/Leave事件时,它不起作用吗?除了焦点不起作用之外,您可以发布更多信息吗。告诉我们您打算做什么。当我的表单失去/获得焦点时,事件没有触发。。。它基本上什么也没做。。。谢天谢地,我找到了自己问题的答案!