原文:WPF编程,C#中对话框自动关闭的一种方法。

版权声明:我不生产代码,我只是代码的搬运工。 https://blog.csdn.net/qq_43307934/article/details/84933196

MessageBoxTimeout是一个微软未公开的Windows API函数。实现定时消息,功能类似于MessageBox。如果用户不回应,能定时关闭消息框。函数由user32.dll导出,windows2000及以下没有此函数。

 

 原型:

int MessageBoxTimeoutA(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType, WORD wLanguageId, DWORD dwMilliseconds);

int MessageBoxTimeoutW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType, WORD wLanguageId, DWORD dwMilliseconds)[1]

参数: 

hwnd//消息框的拥有窗口。
lptext//消息框的内容。
lpCaption//消息框的标题。
uType//指定一个决定对话框的按钮类型和图标类型的位标志集。
wLanguageId//函数扩展,一般取0。
dwMilliseconds//消息框延迟关闭时间,单位:毫秒。

UTYPE取值:

uType:按钮类型,以下给出常量,可相加。
意思是从需要的每一组中选择一种功能,将其前面的数值相加,写在uType的取值处,
这样,对话框就能应用所有选定的功能。 每组只能取一个类型,第五组除外,复制于易语言给出的提示。 第一组(描述对话框中显示按钮的类型与数目):
0、#确认钮;1、#确认取消钮;2、#放弃重试忽略钮;3、#取消是否钮;4、#是否钮;5、#重试取消钮
第二组(描述图标的样式):
16、#错误图标; 32、#询问图标; 48、#警告图标; 64、#信息图标
第三组(说明哪一个按钮是缺省默认值):
0、#默认按钮一; 256、#默认按钮二; 512、#默认按钮三; 768、#默认按钮四
第四组(决定如何等待消息框结束):
0、#程序等待; 4096、#系统等待
第五组(其它):
65536、#位于前台; 524288、#文本右对齐

返回值:

除了选则第一组的0类型时,返回是1,其它类型都是默认返回是32000。

确认:1

取消:2

中止:3

重试:4

忽略:5

是:6

否:7

 

1、在类的开头增加如下代码:

  [DllImport("user32.dll")]
public static extern int MessageBoxTimeoutA(IntPtr hWnd, string msg, string Caps, int type, int Id, int time); //引用DLL

像这样:

 

2、 在按钮事件或者鼠标事件等其它事件中,加入如下代码:

  MessageBoxTimeoutA((IntPtr)0, "3秒后自动关闭", "消息框", 0, 0, 3000);    // 直接调用  3秒后自动关闭 

像这样:

WPF编程,C#中对话框自动关闭的一种方法。的更多相关文章

  1. WPF编程,C#中对话框自动关闭的一种方法(转载)

    本文原文链接:https://blog.csdn.net/qq_43307934/article/details/84933196———————————————— MessageBoxTimeout是 ...

  2. WPF编程,自定义鼠标形状的一种方法。

    原文:WPF编程,自定义鼠标形状的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/details/8727 ...

  3. VS编程,WPF单独更改TextBlock中部分文字格式的一种方法

    原文:VS编程,WPF单独更改TextBlock中部分文字格式的一种方法 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/articl ...

  4. C#中实现并发的几种方法的性能测试

    C#中实现并发的几种方法的性能测试 0x00 起因 去年写的一个程序因为需要在局域网发送消息支持一些命令和简单数据的传输,所以写了一个C/S的通信模块.当时的做法很简单,服务端等待链接,有用户接入后开 ...

  5. PHP中获取星期的几种方法

    PHP中获取星期的几种方法   PHP星期几获取代码: 1 date(l); 2 //data就可以获取英文的星期比如Sunday 3 date(w); 4 //这个可以获取数字星期比如123,注意0 ...

  6. CSS中隐藏内容的3种方法及属性值

    CSS中隐藏内容的3种方法及属性值 (2011-02-11 13:33:59)   在制作网页时,隐藏内容也是一种比较常用的手法,它的作用一般有:隐藏文本/图片.隐藏链接.隐藏超出范围的内容.隐藏弹出 ...

  7. 关于iOS去除数组中重复数据的几种方法

    关于iOS去除数组中重复数据的几种方法   在工作工程中我们不必要会遇到,在数组中有重复数据的时候,如何去除重复的数据呢? 第一种:利用NSDictionary的AllKeys(AllValues)方 ...

  8. JS去除数组中重复值的四种方法

    JS去除数组中重复值的四种方法 1 /// <summary>            o[this[i]] = "";  }      }       newArr.p ...

  9. php获取数组中重复数据的两种方法

    分享下php获取数组中重复数据的两种方法. 1,利用php提供的函数,array_unique和array_diff_assoc来实现 <?php function FetchRepeatMem ...

随机推荐

  1. JSTL核心标签库——重定向标签、URL处理标签、网页导入标签

    <c:redirect>重定向标签 相当于HttpServletResponse的sendRedirect()方法. <%@page contentType="text/h ...

  2. http请求工具-OkHttp用法

    OKHttp介绍 okhttp是一个第三方类库,用于android中请求网络.这是一个开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso和LeakCan ...

  3. 文科妹学 GitHub 简易教程

      #什么是 Github ?必须要放这张图了!!!<img src="https://pic4.zhimg.com/7c9d3403bf922b1663f56975869c829b_ ...

  4. Oracle EBS OPM complete step

    --complete_step --created by jenrry DECLARE x_return_status VARCHAR2 (1); l_exception_material_tbl g ...

  5. Oracle EBS 创建 RMA

    DECLARE l_api_version_number NUMBER := 1; l_return_status VARCHAR2(2000); l_msg_count NUMBER; l_msg_ ...

  6. python之绘制图形库turtle

    关于绘制图形库turtle# 画布上,默认有一个坐标原点为画布中心的坐标轴(0,0),默认"standard"模式坐标原点上有一只面朝x轴正方向小乌龟 一:海龟箭头Turtle相关 ...

  7. 获取本机正在使用的ipv4地址(访问互联网的IP)

    [转]原文地址:http://www.cnblogs.com/lijianda/p/6604651.html 1.一个电脑有多个网卡,有线的.无线的.还有vmare虚拟的两个网卡.2.就算只有一个网卡 ...

  8. oracle like模糊查询简单用法

    like  用法介绍: 1.“_”:匹配单个任意字符 select * from bqh3 where name like '_崔'; 2.“%”:匹配0个或多个任意字符.但有三种情况如下: like ...

  9. 【MYSQL】语法复习

    一.数据类型 截图来源: http://www.runoob.com/mysql/mysql-data-types.html 二.基本语句 1.创建数据表 -- 主键自增,T_User CREATE ...

  10. SDN期末作业博客

    一.项目描述 A P4-based Network Load Balancing Application 基于P4的网络负载均衡项目 二.个人分工 The Controller : Acquire t ...