[DllImport("user32.dll")]
public static extern bool FlashWindow(IntPtr hWnd, bool bInvert);
调用
FlashWindow(this.Handle, true)// true为闪烁
窗体处于活动是调用
if (Form.ActiveForm != this)
{
FlashWindow(this.Handle, true)// true为闪烁
}
另外的线程调用时
if (Form.ActiveForm != this)
{
InvokeProxyMethod.ProxyMethod(this, this, "CallFlashWindow", null);
}
using System;
using System.Reflection;
using System.Windows.Forms;
namespace Utility
{
delegate object CallInvokeProxyMethod(Control invokeControl, object invokeObject, string method, object[] parameters);
public static class InvokeProxyMethod
{
public static object ProxyMethod(Control invokeControl, object invokeObject, string method, object[] parameters)
{
if (invokeControl.InvokeRequired)
{
CallInvokeProxyMethod d = ProxyMethod;
return invokeControl.Invoke(d, new object[] { invokeControl, invokeObject, method, parameters });
}
else
{
Type t = invokeObject.GetType();
MethodInfo mi = t.GetMethod(method);//获取指定方法
return mi.Invoke(invokeObject, parameters);//调用实例方法
}
}
}
}