C#检查表格是焦点还是活动

时间:2018-05-14 14:46:24

标签: c# winforms

我有一个显示通知窗口的表单,但只有当表单不在焦点或活动时才需要显示弹出窗口。

这样的事情:

if (!form.Active)
{
   //Do something
}

有办法吗?

2 个答案:

答案 0 :(得分:4)

这可能会帮助您完成任务。如果您的表单处于活动状态,它将告诉您。如果您单击该表格,它也会告诉您。

using System; 
using System.Text;          // probably not required
using System.Windows.Forms; // probably not required
using System.Threading;     // probably not required   


namespace AppName
{   

    public partial class Form1 : Form
    {

        protected override void OnActivated(EventArgs e)
        {
            Console.WriteLine("Form Activated");
        }


        protected override void OnDeactivate(EventArgs e)
        {
            Console.WriteLine("Form deactActivated");
        }

       // more program etc.

    }
 }

答案 1 :(得分:1)

if (Form.ActiveForm != yourform)
{
   //form not active 
   //do something
}
else
{
   // form active
   // do something
}