当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

WinForm 定时器 定时弹出提示框并关闭

发表于: 2015-04-13   作者:Colin_Davis   来源:转载   浏览:
摘要:    WinForm 定时器 定时弹出提示框并关闭 #region 弹框提示并自动关闭 (目的:延迟拍照) /// <summary> /// 关闭标志 /// </summary> private const int WM_CLOSE = 0x0010;

   WinForm 定时器 定时弹出提示框并关闭

        #region 弹框提示并自动关闭 (目的:延迟拍照)

        /// <summary>
        /// 关闭标志
        /// </summary>
        private const int WM_CLOSE = 0x0010;

        /// <summary>
        /// 弹框标题, const 类型以便访问查找
        /// </summary>
        private const string WM_CLOSE_TITLE = "存储中...";

        /// <summary>
        /// 定时器回调函数
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TimerCallBack(object sender, EventArgs e)
        {
            IntPtr ptr = DllUtil.FindWindow(null, WM_CLOSE_TITLE); // ** 调用本地方法查找弹框的窗体指针
            if (ptr != IntPtr.Zero)
            {
                DllUtil.PostMessage(ptr, WM_CLOSE, 0, 0); // ** 发送窗体关闭消息
            }
            ((System.Windows.Forms.Timer)sender).Stop(); // ** 计时器停止
        }

        /// <summary>
        /// 创建定时器( 用于关闭 "当前拍照第几张" 的提示框)
        /// </summary>
        private void StartCloseBoxTimer()
        {
            System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();
            timer.Interval = 500; // ** 提示框/拍照间隔时间 对应的毫秒
            timer.Tick += new EventHandler(TimerCallBack); // ** 到达指定延迟时间的回调函数
            timer.Start(); // ** 启动定时器
        }

        #endregion 弹框提示并自动关闭 (目的:延迟拍照)

 

 

   调用

for (int i = 0; i < 3; ++i)
{
    StartCloseBoxTimer(); /// ** 创建当前提示框的关闭定时器
    MessageBox.Show("第 " + (i + 1) + " 张,请稍后...", WM_CLOSE_TITLE);
}

  

WinForm 定时器 定时弹出提示框并关闭

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号