Windows 8技巧: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 ApplicationPageBackgroundThe码下meBrush}"
Button Content="First Msg" HorizontalAlignment="Left"
Margin=",,0,0" VerticalAlignment="Top"
Height="" Width="" Click="First_Click"/
Button Content="Secend Msg" HorizontalAlignment="Left"
Margin=",,0,0" VerticalAlignment="Top"
Height="" Width="" Click="Secend_Click"/
Button Content="Third Msg" HorizontalAlignment="Left"
Margin=",,0,0" VerticalAlignment="Top"
Height="" Width="" Click="Third_Click"/
Button Content="Fourth Msg" HorizontalAlignment="Left"
Margin=",,0,0" VerticalAlignment="Top"
Height="" Width="" Click="Fourth_Click"/
TextBlock HorizontalAlignment="Left" Name="tbText"
Margin=",,0,0" TextWrapping="Wrap"
Text="TextBlock" VerticalAlignment="Top"
Height="" Width="" FontSize=""/
/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();
}/pp
二:自定义命令集的消息框
复制代码
代码如下:
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.ToInt(msg1info.Id))
{
case 0 :
this.tbText.Text = "你点击了确定按钮,第三组提示";break;
case 1 :
this.tbText.Text = "你点击了取消按钮,第三组提示";break;
default:
break;
}
}
四:将命令方法体单独出来写方法体
复制代码
代码如下:
private async void Fourth_Click(object sender, RoutedEventArgs e)
{
MessageDialog msg1 = new MessageDialog("Hello World!这是第四个提示.");
msg1.Title = "提示3";
msg1.Commands.Add(new UICommand("确定", new UICommandInvokedHandler(this.ShowTextEnter)));
msg1.Commands.Add(new UICommand("取消", new UICommandInvokedHandler(this.ShowTextCancel)));
msg1.DefaultCommandIndex = 0;
msg1.CancelCommandIndex = 1;
var msg1info = await msg1.ShowAsync();
}
private void ShowTextEnter(IUICommand command)
{
this.tbText.Text = "你点击了确定按钮,第四组提示";
}
private void ShowTextCancel(IUICommand command)
{
this.tbText.Text = "你点击了取消按钮,第四组提示";
}
最后我们来看运行效果如下图所示,如需源码请点击 Win8Message_jbnet下载。
GDB 简介 调试 使用实例
GNU调试器gdb是码下互联网监控平台源码Linux系统中不可或缺的工具,它作为字符模式下的码下交互式调试器,能协助我们深入程序内部进行各种任务。码下除了gdb,还有一些其他如xxgdb,ddd, kgdb, ups等调试器,但gdb因其强大功能而备受青睐。 gdb的强大功能包括设置断点,监控变量值,单步执行程序,查看和修改变量和寄存器,检查堆栈情况,甚至支持远程调试。要使用gdb,场所溯源码查询进入人员首先需要在编译源代码时添加-g选项以生成调试信息。运行时,通过命令如gdb progname启动调试器,然后通过一系列命令如list、run、break等进行调试。 以下是gdb的一些实用操作实例:在gdb中列出文件清单:(gdb) list line1,line2
执行程序并设置参数:(gdb) run –b –x
查看和修改变量值:(gdb) print p (p为变量名)
设置断点:(gdb) break line-number 或 function-name
断点管理:使用info break查看和管理断点,如删除或启用禁用断点
单步执行:next(不进入函数)和step(进入函数)
信号处理:通过handle命令控制信号的行为
查看源代码:search和reverse-search用于搜索文本
在实际应用中,比如调试buggy.c程序,可以使用gdb的break命令在出错行设置断点,然后通过print命令检查变量值,或者直接修改变量以解决错误。帝国时代 rts源码编译gdb提供了丰富的命令集,如info命令用于获取程序状态,list命令显示源代码段,使得调试过程更为高效。.NET的发展史
.NET框架的起源和发展
.NET框架,微软开发的跨平台应用开发框架,旨在支持Windows、MacOSX、Linux及其他平台。.NET Core在框架开发之初就进行了开源,与现有开源平台Mono进行比较,具有高度可靠性和扩展性,安卓充电动画源码为星巴克或UPS等企业巨头提供动力。
.NET框架发展历史可以追溯至年代后期,比尔盖茨提出为新一代互联网奠定基础的策略。最初版本于年发布,以Windows.NET服务名称为人所知,但由于策略的失败,名称随之失败,.NET框架自此为人熟知。
.NET框架的开源行动旨在与Java竞争,旨在削弱Java的两大优势:开源性和跨平台性。基于语言的美观与易用性,许多人偏爱C#而非Java,但Java世界的优势在于开源与跨平台性。微软下注于静态类型和编译语言(如C#和Java)的潜力,与动态语言(如Python和JavaScript)竞争。
.NET框架的简史包括从年第一个测试版发布,到年发布多个版本,每版都有其特性和增强功能。例如,.NET 1.1版本增强了ASP.NET的安全性,支持IPv6和ODBC。.NET 2.0版本引入了泛型集合、迭代器和ASP.NET新功能。.NET 3.0版本则引入了WPF、WCF和WWF特性。
在年,.NET框架的源代码库开始提供给公众,允许开发者自由访问。.NET 3.5版本带来了对AJAX、动态数据、LINQ、ASP.NET MVC的支持。从年到年,.NET框架经历了多个版本的更新,如.NET 4.0、.NET 4.5和.NET 4.5.1,每个版本都带来新功能和改进。
年,微软宣布了.NET Core,这是.NET框架的跨平台重建,允许开发者为Linux或OSX等其他操作系统创建应用程序,并在同一台设备上安装不同版本。.NET Core于年正式发布,同时.NET框架不断获得新功能和更新,以保持其在开发者中的吸引力。
.NET框架的主要功能优势包括LTS长支持版本、跨浏览器、云、桌面、IoT和移动应用程序的统一开发平台、Blazor的升级、最小API、跨平台MAUI等新技术发布,以及热重载、AOT编译和深度Arm支持等新技能。对于使用.NET框架的公司,C#是Unity游戏开发的主要语言,而.NET Core的性能与Java相当,且表现良好。Visual Studio作为.NET框架的开发工具,是世界上最好的集成开发环境之一。
欢迎访问Aspx.com下载与.NET相关的项目源码。
2024-11-30 11:32
2024-11-30 11:31
2024-11-30 11:18
2024-11-30 10:01
2024-11-30 09:58