C#实现winform自动关闭MessageBox对话框的方法
程序员文章站
2022-10-25 19:20:58
本文实例讲述了c#实现winform自动关闭messagebox对话框的方法。分享给大家供大家参考。具体实现方法如下:
using system;
using...
本文实例讲述了c#实现winform自动关闭messagebox对话框的方法。分享给大家供大家参考。具体实现方法如下:
using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.text; using system.windows.forms; using system.runtime.interopservices; namespace windowsapplication1 { public partial class autodeletemessagebox : form { [dllimport("user32.dll", entrypoint = "findwindow", charset = charset.auto)] private extern static intptr findwindow(string lpclassname, string lpwindowname); [dllimport("user32.dll", charset = charset.auto)] public static extern int postmessage(intptr hwnd, int msg, intptr wparam, intptr lparam); public const int wm_close = 0x10; public autodeletemessagebox() { initializecomponent(); } private void button1_click(object sender, eventargs e) { startkiller(); messagebox.show("3秒钟后自动关闭messagebox窗口", "messagebox"); } private void startkiller() { timer timer = new timer(); timer.interval = 3000; //3秒启动 timer.tick += new eventhandler(timer_tick); timer.start(); } private void timer_tick(object sender, eventargs e) { killmessagebox(); //停止timer ((timer)sender).stop(); } private void killmessagebox() { //按照messagebox的标题,找到messagebox的窗口 intptr ptr = findwindow(null, "messagebox"); if (ptr != intptr.zero) { //找到则关闭messagebox窗口 postmessage(ptr, wm_close, intptr.zero, intptr.zero); } } } }
希望本文所述对大家的c#程序设计有所帮助。
上一篇: C#实现计算年龄的简单方法汇总