软件编程
位置:首页>> 软件编程>> C#编程>> C#实现winform自动关闭MessageBox对话框的方法

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

作者:令狐不聪  发布时间:2022-09-02 02:21:53 

标签:C#,winform,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#程序设计有所帮助。

0
投稿

猜你喜欢

  • 这篇文章主要介绍了java加载property文件配置过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
  • 本文所述代码是从一个C#程序中摘录出来的,主要实现C#创建目录、删除文件夹及文件的功能,包括所引用的名称空间等,特别是对C#不熟悉的初学者,
  • ReadWriteLock 和 ReentrantReadWriteLock介绍ReadWriteLock,顾名思义,是读写锁。它维护了一对
  • Spring Aop的原理Spring的AOP就是通过 * 实现的。当为某个Bean或者某些Bean配置切面时,Spring会为其创建代理
  • 语法糖指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程
  • 最近尝试做了个listview的多选demo,网上看其他人的例子感觉不是很难,自己动手做了下,各种细节问题,没那么简单啊。既然做了,简单写个
  • IO感觉上和多线程并没有多大关系,但是NIO改变了线程在应用层面使用的方式,也解决了一些实际的困难。而AIO是异步IO和前面的系列也有点关系
  • 也许是本人不才,初识Maven时,被各种不明所以的教程搞得一头雾水,而在后来的使用中,我发现Maven大部分功能没有想象的那么困难。本片文章
  • 我们将会从以下的几点理解java线程的一些概念:线程的基本概念和优劣之处创建一个线程的两种方式线程的属性线程的状态synchronized可
  • 前言总是觉得对HashMap很熟悉,但最近连续被问到几个关于它的问题,才发现它其实并不简单。这里对关于它的一些问题做个总结,也希望能够大家一
  • 概况本文主要给大家介绍了通过JDK源码学习InputStream的相关内容,JDK 给我们提供了很多实用的输入流 xxxInputStrea
  • 本文实例展示了C#实现Datatable排序的方法,分享给大家供大家参考之用。具体方法如下:一般来说,在C#中要对Datatable排序,可
  • mybatis介绍 * 的一个作用就是我们可以拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,也可以在执行这些被拦截
  • Java-JDK * (AOP)使用及实现原理分析第一章:代理的介绍介绍:我们需要掌握的程度 * (理解) 基于反射机制掌握的程度:1.
  • using System;using System.Collections.Generic;using System.Text;namesp
  • 一、Maven简介1. 什么是MavenMaven:是Apache提供的免费开源的项目管理工具。它提供了一个项目对象模型(pom.xml)、
  • 本想把练习题做了的结果放上来,不过发现附录是有答案的,就算了吧,自己做了没问题就行了哈。之前提到过,要是有朋友有想法,需要做小工具我可以帮忙
  • 目录前言应用定义基本Enum特性Enum的静态导入Enum中添加新方法Switch语句中的EnumEnum的继承EnumSet的使用Enum
  • Quote在学习 Kotlin 的过程中,对 Kotlin 的类型系统产生了好奇,Kotlin 是否存在类似于 Java 中 Object
  • 这篇文章主要介绍了Spring Cloud Hystrix异常处理方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参
手机版 软件编程 asp之家 www.aspxhome.com