时间:2021-05-20
本文实例讲述了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#程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在一些程序中,我们会发现弹出的的对话框会自动关闭,那么在C#的WinForm中是否也可以实现这种功能呢?下面转载了cnblogs.comeaglet的一篇文章,
我们在C#编程中常见的信息提示框(MessageBox)是微软NET自带的一个用于弹出警告、错误或者讯息一类的“模式”对话框。此类对话框一旦开启,则后台窗体无法
1.基本知识介绍首先,C#中的.net的常用对话框中没有映射网络驱动映射对话框,所以需要用windows的API函数去实现弹出映射网络驱动器对话框。c#调用AP
下面给出了使用C#开发的一个压缩ACCESS数据库的程序像FolderBrowserDialog(用于浏览选择文件夹的对话框)、MessageBox(消息处理对
php中弹出对话框的方法如下,一般,在提交信息后需要弹出对话框提示,之后可以自动关闭对话框,弹出对话框有下面集中方法,其实都是利用javascript中的ale