zoukankan      html  css  js  c++  java
  • 自动关闭Messbox

      /// <summary>
        /// 自动关闭Messbox
        /// </summary>
        public class MessageBoxAutoClose
        {
            System.Threading.Timer _timeoutTimer;
            string _caption;
            public MessageBoxAutoClose(string text, string caption, int timeout)
            {
                _caption = caption;
                _timeoutTimer = new System.Threading.Timer(OnTimerElapsed,
                    null, timeout, System.Threading.Timeout.Infinite);
                MessageBox.Show(text, caption);
            }
            public MessageBoxAutoClose(string text, string caption, MessageBoxButtons msgButton, int timeout)
            {
                _caption = caption;
                _timeoutTimer = new System.Threading.Timer(OnTimerElapsed,
                    null, timeout, System.Threading.Timeout.Infinite);
                MessageBox.Show(text, caption, msgButton);
            }
    
            public MessageBoxAutoClose(string text, string caption, MessageBoxButtons msgButton, MessageBoxIcon msgIcon, int timeout)
            {
                _caption = caption;
                _timeoutTimer = new System.Threading.Timer(OnTimerElapsed,
                    null, timeout, System.Threading.Timeout.Infinite);
                MessageBox.Show(text, caption, msgButton, msgIcon);
            }
    
            /// <summary>
            /// 提示关闭
            /// </summary>
            /// <param name="text">显示提示内容</param>
            /// <param name="caption">标题</param>
            /// <param name="timeout">设定指定毫秒后关闭</param>
            public static void Show(string text, string caption, int timeout = 2000)
            {
                new MessageBoxAutoClose(text, caption, timeout);
            }
            /// <summary>
            /// 提示关闭
            /// </summary>
            /// <param name="text">显示提示内容</param>
            /// <param name="caption">标题</param>
            /// <param name="msgButton">提示按钮</param>
            /// <param name="timeout">设定指定毫秒后关闭</param>
            public static void Show(string text, string caption, MessageBoxButtons msgButton, int timeout = 2000)
            {
                new MessageBoxAutoClose(text, caption, msgButton, timeout);
            }
            /// <summary>
            /// 提示关闭
            /// </summary>
            /// <param name="text">显示提示内容</param>
            /// <param name="caption">标题</param>
            /// <param name="msgButton">提示按钮</param>
            /// <param name="msgIcon">提示图标</param>
            /// <param name="timeout">设定指定毫秒后关闭</param>
            public static void Show(string text, string caption, MessageBoxButtons msgButton, MessageBoxIcon msgIcon, int timeout = 2000)
            {
                new MessageBoxAutoClose(text, caption, msgButton, msgIcon, timeout);
            }
    
    
    
            void OnTimerElapsed(object state)
            {
                IntPtr mbWnd = FindWindow(null, _caption);
                if (mbWnd != IntPtr.Zero)
                    SendMessage(mbWnd, WM_CLOSE, IntPtr.Zero, IntPtr.Zero);
                _timeoutTimer.Dispose();
            }
            const int WM_CLOSE = 0x0010;
            [System.Runtime.InteropServices.DllImport("user32.dll", SetLastError = true)]
            static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
            [System.Runtime.InteropServices.DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto)]
            static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);
        }
  • 相关阅读:
    [转]C#创建Windows服务与安装
    Uploadify导致Chrome频繁崩溃Crash
    【转】asp.net mvc css/js压缩合并 combres
    jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
    性能测试初学_loadrunner使用中遇到的问题
    linux 安装apache http server
    性能测试初学_loadrunner脚本增强
    性能测试初学_对loadrunner脚本的理解
    性能测试初学_利用cookie 绕过登录
    性能测试初学_linux 计数器
  • 原文地址:https://www.cnblogs.com/randyzhuwei/p/4058715.html
Copyright © 2011-2022 走看看