標籤:windows 7 工作列
使用QQ聊天時,如果對方發出了資訊QQ 表徵圖會閃動提示,雖然Windows API 沒有直接控制閃動效果的方法,但該效果在開發中可能會經常使用,下面代碼為一個閃動效果類:
/// <summary>/// Win32 API/// </summary>internal static class Win32{ /// <summary> /// 視窗閃動 /// </summary> /// <param name="hwnd">視窗控制代碼</param> /// <param name="bInvert">是否為閃</param> /// <returns>成功返回0</returns> [DllImport("user32.dll")] public static extern bool FlashWindow(IntPtr hwnd, bool bInvert);}
/// <summary>/// 視窗閃動的輔助類/// </summary>public class FlashWindowHelper{ Timer _timer; int _count = 0; int _maxTimes = 0; IntPtr _window; public void Flash(int times, double millliseconds, IntPtr window) { _maxTimes = times; _window = window; _timer = new Timer(); _timer.Interval = millliseconds; _timer.Elapsed += _timer_Elapsed; _timer.Start(); } void _timer_Elapsed(object sender, ElapsedEventArgs e) { if (++_count < _maxTimes) { Win32.FlashWindow(_window, (_count % 2) == 0); } else { _timer.Stop(); } }} 通過FlashWindowHelper 類可以輕鬆的使工作列表徵圖閃動起來:
/// <summary>/// 通過FlashWindowHelper 類可以輕鬆的使工作列表徵圖閃動起來:/// </summary>private void _btnFlash_Click(object sender, EventArgs e){ FlashWindowHelper helper = new FlashWindowHelper(); helper.Flash(10, 300, this.Handle);}
C# Windows 7工作列開發之表徵圖閃動(Flash)