Windows 8开发入门(五)弹出提示框MessageDialog与await、async关键字

在以前Silverlight、WPF中的弹出窗口提示中是MessageBox类中进行显示的,现在Windows 8中使用 Windows.UI.Popups命名空间下的MessageDialog类代替MessageBox。

MessageDialog类有以下常用方法 和属性:

ShowAsync():异步弹出消息框.

Commands:添加命令,在弹出框界面上同步添加相应的按 钮.

DefaultCommandIndex:设置默认按钮的索引,按ENTER键将激活该索引对应的命令按钮

CancelCommandIndex:设置取消退出按钮的索引,按ESC键将激活该索引对应的命令按钮

Title: 弹出消息框的标题

async:用于方法申明时,此关键字是告诉编译器在这个方法体内可能会有await关键 字。

await:用于异步操作时的模拟同步等待,声明有此关键字的异步操作需等待异步操作完成之后才 继续往下运行,但是不会阻塞UI线程。

注意:使用await关键字的方法体,必须使用async声明方法

现在我们通过一个实例来看MessageDialog、async、await:

<Grid 

Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
        <Button Content="First Msg" HorizontalAlignment="Left"
                Margin="430,196,0,0" VerticalAlignment="Top"
                Height="51" Width="114" Click="First_Click"/>
        <Button Content="Secend Msg" HorizontalAlignment="Left"
            Margin="606,196,0,0" VerticalAlignment="Top"
            Height="51" Width="114" Click="Secend_Click"/>
        <Button Content="Third Msg" HorizontalAlignment="Left"
            Margin="788,196,0,0" VerticalAlignment="Top"
            Height="51" Width="114" Click="Third_Click"/>
        <Button Content="Fourth Msg" HorizontalAlignment="Left"
            Margin="975,196,0,0" VerticalAlignment="Top"
            Height="51" Width="114" Click="Fourth_Click"/>
        <TextBlock HorizontalAlignment="Left" Name="tbText"
                   Margin="573,160,0,0" TextWrapping="Wrap"
                   Text="TextBlock" VerticalAlignment="Top"
                   Height="31" Width="565" FontSize="16"/>
    </Grid>

一:最简单的MessageDialog

private async void First_Click(object 

sender, RoutedEventArgs e)
{
    MessageDialog msg = new MessageDialog("Hello World!这是第一个提示.");
    msg.Title = "提示1";
    var msginfo = await msg.ShowAsync();
}

二:自定义命令集的消息框

private async void Secend_Click(object sender, 

RoutedEventArgs e)
        {
            MessageDialog msg1 = new MessageDialog("Hello World!这是第二个提示.");
            msg1.Title = "提示2";
            msg1.Commands.Add(new UICommand("确定", command =>
            {
                this.tbText.Text = "你点击了确定按钮,第二组提示";
            }));
            msg1.Commands.Add(new UICommand("取消", command =>
            {
                this.tbText.Text = "你点击了取消按钮,第二组提示";
            }));
            var msg1info = await msg1.ShowAsync();
        }

三:使用await模拟同步方式得到当前使用命令ID运行响应的代码段

private 

async void Third_Click(object sender, RoutedEventArgs e)
        {
            MessageDialog msg1 = new MessageDialog("Hello World!这是第三个提示.");
            msg1.Title = "提示3";
            msg1.Commands.Add(new UICommand("确定", null, 0));
            msg1.Commands.Add(new UICommand("取消", null, 1));
            msg1.DefaultCommandIndex = 0;
            msg1.CancelCommandIndex = 1;
            var msg1info = await msg1.ShowAsync();
            switch (Convert.ToInt32(msg1info.Id))
            {
                case 0 :
                     this.tbText.Text = "你点击了确定按钮,第三组提示";break;
                case 1 :
                    this.tbText.Text = "你点击了取消按钮,第三组提示";break;
                default:
                    break;
            }
        }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索按钮
, 方法
, 提示
, await
, msg
, async
, 弹出提示框
, Async/Await
按钮提示框
async await、node async await、es7 async await、python async await、js async await,以便于您获取更多的相关知识。

时间: 2024-09-19 09:46:26

Windows 8开发入门(五)弹出提示框MessageDialog与await、async关键字的相关文章

win8系统里删除文件不再弹出提示框

  从Windows 8的推出,应该有不少的用户会去尝试使用Windows 8系统吧,但有使用WIN8的朋友问,为什么在WIN8系统里删除文件不再弹出提示框了呢?在这里小编为你在解答吧. 在Windows 7中,用户如果删除一个文件,系统会弹出"删除文件"提示框,询问用户是否确定要把此文件放入回收站. 在Windows 8中,系统不会再弹出这个回收站警告,而是直接将用户选定删除的文件放入回收站. Windows 8回收站的这一变化只是即将到来的一系列文件管理变动中的一部分,微软工程师J

c#如何弹出提示框,触发事件后关闭提示框

问题描述 c#如何弹出提示框,触发事件后关闭提示框 c#如何弹出提示框,触发事件后关闭提示框 比如说提醒用户做某事,做完后关闭提示框 解决方案 比如提示框叫Form2 Form2 form2 = new Form2(); form2.TopMost = true; form2.Show(); //做你的事情 ... form2.Hide(); 解决方案二: 定时: 或者做完后给个标识为true,后台一直检测是否收到该标识,若收到了则隐藏. 解决方案三: Messagebox.show("&quo

C#怎么在textbox7插入数据库前判断已存在并弹出提示框

问题描述 怎么在textbox7插入数据库前判断已存在并弹出提示框,就像下面已经写好的"用户名已存在那样"namespaceInternetShopping.AdminManage{publicpartialclassUserRegister:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){stringnum=("Server=(local);IntegratedSecurity=SSPI;

ASPxGridView 控件做删除操作时 ,如果弹出提示框??

问题描述 ASPxGridView控件做删除操作时,,我要先跟据所选择的行的ID去判断数据库,此记录是否可以删除,再做出提示,可以不知道怎么弹出提示框!!请高手求解!!!我的部分代码:aspxcode:<dx:GridViewCommandColumnCaption="操作"VisibleIndex="0"><DeleteButtonVisible="True"Text="删除"></Delete

关闭网页,弹出提示框,点击提示框自动跳转到另一个网址

问题描述 关闭网页,弹出提示框,点击提示框自动跳转到另一个网址求代码,谢谢大家! 解决方案 解决方案二:请登陆icbc.com.cn然后登录网银,关闭的时候,就有一个完整的案例..可以自己提取,这样学得更多.解决方案三:我没有工行的网银!解决方案四:<script>window.onbeforeunload=function(){}</script> 好像很难做到.icbc的关闭后好像是弹出欢迎使用网银之类的话并没有再打开新的页面吧.解决方案五:网银,好深奥啊!解决方案六:弹出用d

测试-求这道题目代码 我只能做这种弹出提示框的 不能把分数和相应错题答案连接到新窗口

问题描述 求这道题目代码 我只能做这种弹出提示框的 不能把分数和相应错题答案连接到新窗口 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > &

怎么在textbox7插入数据库前判断已存在并弹出提示框

问题描述 怎么在textbox7插入数据库前判断已存在并弹出提示框,就像下面已经写好的"用户名已存在那样"namespaceInternetShopping.AdminManage{publicpartialclassUserRegister:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){stringnum=("Server=(local);IntegratedSecurity=SSPI;

JavaScript基础教程之alert弹出提示框实例_javascript技巧

alert 命令弹出一个提示框 为便于对 JavaScript 有一个直观的认识,本节会提供几个简单的实例供 JavaScript 入门学习之用.下面的代码是一个弹出提示框的例子: 复制代码 代码如下: <script type="text/javascript"> alert("我是提示文字!"); </script> 将上面部分代码,用文本编辑器(如写字板或其他更高级的编辑器,如 EditPlus 等)保存为 alert.html(或 a

IE下载完成后怎么不弹出提示框?

以前在IE浏览器中右键单击下载链接,在选择"另存为"即可对文件进行下载,当下载完成后会弹出一个提示窗口,可以选择"打开"."打开文件夹"和"关闭". 但如果不小心勾选了"下载完成后关闭此对话框"复选框,下载完后就再没有提示窗口弹出了.因为有时候没有留意保存的位置,若有提示窗口的话可以直接看,现在没有下载完毕提示,等想起来的时候,又不知道下载到哪里去了.如何恢复IE下载完成后的弹出提示框呢? 解决方法如下: