C#实现winform自动关闭MessageBox对话框的方法

 更新时间:2015年04月24日 15:32:51   作者:令狐不聪  
这篇文章主要介绍了C#实现winform自动关闭MessageBox对话框的方法,实例分析了C#中MessageBox对话框的相关操作技巧,需要的朋友可以参考下

本文实例讲述了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#程序设计有所帮助。

相关文章

  • vs 中C#项目读取JSON配置文件的方法

    vs 中C#项目读取JSON配置文件的方法

    这篇文章主要介绍了vs中 C#项目读取JSON配置文件的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • C#中的预定义类型与引用类型

    C#中的预定义类型与引用类型

    这篇文章介绍了C#中的预定义类型与引用类型,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • c#使用Aspose打印文件的示例

    c#使用Aspose打印文件的示例

    这篇文章主要介绍了c#使用Aspose打印文件的示例,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-05-05
  • C# Bitmap图像处理(含增强对比度的三种方法)

    C# Bitmap图像处理(含增强对比度的三种方法)

    本文主要介绍了C# Bitmap图像处理(含增强对比度的三种方法),文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • C#在winform中实现数据增删改查等功能

    C#在winform中实现数据增删改查等功能

    本篇文章主要是介绍了C#在winform中操作数据库,实现数据增删改查,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • 基于Unity3D实现3D迷宫小游戏的示例代码

    基于Unity3D实现3D迷宫小游戏的示例代码

    迷宫游戏作为经典的小游戏,一直深受大家的喜爱。本文小编将为大家详细介绍一下如何用Unity实现一个3D版的迷宫小游戏,感兴趣的可以动手试一试
    2022-03-03
  • c#中oracle的to_date函数使用方法

    c#中oracle的to_date函数使用方法

    C#使用参数传值方式操作oracle的date字段,主要介绍了oracle的to_date使用方法,大家参考使用吧
    2014-01-01
  • 在Linux上运行C#的方法

    在Linux上运行C#的方法

    这篇文章主要介绍了在Linux上运行C#的方法,实例分析了Linux平台下Mono软件包的应用技巧,以及在此基础之上的C#运行方法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • C# BinaryReader实现读取二进制文件

    C# BinaryReader实现读取二进制文件

    在 C# 以二进制形式读取数据时使用的是 BinaryReader 类。本文介绍了C# BinaryReader实现读取二进制文件,感兴趣的可以了解一下
    2021-06-06
  • 解决C#运行程序修改数据后数据表不做更新的问题

    解决C#运行程序修改数据后数据表不做更新的问题

    近日,在使用C#连接数据库的时候,对数据库中的表做更新后,在当前启动项目中去显示表数据时虽然会发生一个更新,但是在结束程序运行后再去观察数据表中的记录时发现并没有发生一个变化,所以本文给大家解决一下这个问题,需要的朋友可以参考下
    2023-08-08

最新评论