【C#】提示框自动关闭

来源:互联网 发布:淘宝魅力惠旗舰店 编辑:程序博客网 时间:2024/06/05 14:36

第一步:新建一个类库,如图:

这里写图片描述

第二步:添加两个类,CloseState.cs和ShowMsg.cs,代码如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Model{    public class CloseState    {        private int _Timeout;        /// <summary>        /// In millisecond        /// </summary>        public int Timeout        {            get            {                return _Timeout;            }        }        private string _Caption;        /// <summary>        /// Caption of dialog        /// </summary>        public string Caption        {            get            {                return _Caption;            }        }        public CloseState(string caption, int timeout)        {            _Timeout = timeout;            _Caption = caption;        }    }}
using System;using System.Collections.Generic;using System.Linq;using System.Runtime.InteropServices;using System.Text;using System.Threading;using System.Windows.Forms;namespace Model{      public class ShowMsg  //自动关闭提示框    {        [DllImport("user32.dll", SetLastError = true)]        static extern IntPtr FindWindow(string lpClassName, string lpWindowName);        [DllImport("user32.dll")]        static extern bool EndDialog(IntPtr hDlg, out IntPtr nResult);        //三个参数:1、文本提示-text,2、提示框标题-caption,3、按钮类型-MessageBoxButtons ,4、自动消失时间设置-timeout        public  void ShowMessageBoxTimeout(string text, string caption,            MessageBoxButtons buttons, int timeout)        {            ThreadPool.QueueUserWorkItem(new WaitCallback(CloseMessageBox),                new CloseState(caption, timeout));            MessageBox.Show(text, caption, buttons);        }        private static void CloseMessageBox(object state)        {            CloseState closeState = state as CloseState;            Thread.Sleep(closeState.Timeout);            IntPtr dlg = FindWindow(null, closeState.Caption);            if (dlg != IntPtr.Zero)            {                IntPtr result;                EndDialog(dlg, out result);            }        }    }}

第三步:调用

Model.ShowMsg show = new Model.ShowMsg();show.ShowMessageBoxTimeout("密码修改成功", "温馨提示", MessageBoxButtons.OK, 1000); //单位毫秒

参考资料:

资料一:http://www.cnblogs.com/XGLSummer/archive/2012/09/06/2673334.html
资料二:http://blog.csdn.net/fuyifang/article/details/46447547

2 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 杭州磨床7130噪音大怎么办 步兵太苦还有一年怎么办 检法事业编怎么办最新 河北省事业单位改企编制怎么办 梦飞去虎牙锐雯怎么办 蚂蚁借呗还款钱没到账怎么办 蚂蚁借呗没有按时还款怎么办 新装的win7没有网卡驱动怎么办 3d电影没眼睛怎么办 看vr手机发烫变卡怎么办 vr眼镜头晕想吐怎么办 程序员年龄大了失业怎么办 事业人员编制在机关任职改革怎么办 老公出轨死不承认怎么办 2017年军自考毕业证怎么办 大腿酸痛肌肉萎缩怎么办一 习惯不了军训一起洗澡怎么办 脚着凉了有点痛怎么办 腿着凉了膝盖疼怎么办 下雨了脚着凉了怎么办 军训中被教官训怎么办 命根子根部长豆豆很痒怎么办? 屁股坏了化脓了怎么办 貔貅屁股摔坏了怎么办 当兵身高差4厘米怎么办 查体戴眼镜视力达不到怎么办 公司福利体检查乙肝怎么办 有乙肝每年福利体检怎么办 国企有乙肝每年福利体检怎么办 单位福利体检查乙肝怎么办 事业单位每年福利体检有乙肝怎么办 高考失利后我该怎么办 初三了科学总是考不好怎么办 初三学生三模考的不好怎么办 高考体检检查出乙肝怎么办 高考体检单丢了怎么办 小腿弯曲没发育好怎么办? 辅警考试体能测试不合格怎么办 跑步跑不动怎么办腿软 人胖跑步跑不动怎么办 不工作每天很累怎么办