清华紫光做网站个人适合网站类型
news/
2025/9/28 12:14:07/
文章来源:
清华紫光做网站,个人适合网站类型,cosy wordpress主题,公众号推广方案计时器机制俗称心跳#xff0c;表示以特定的频率持续触发特定事件和执行特定程序的机制。在开发Windows应用商店应用的过程中#xff0c;可以使用定义在Windows::UI::Xaml命名空间中的DispatcherTimer类来创建计时器。DispatcherTimer类包含了如下的成员#xf…计时器机制俗称心跳表示以特定的频率持续触发特定事件和执行特定程序的机制。在开发Windows应用商店应用的过程中可以使用定义在Windows::UI::Xaml命名空间中的DispatcherTimer类来创建计时器。DispatcherTimer类包含了如下的成员 Tick事件周期性触发的事件。 Start函数用于启动计时器。 Stop函数用于停止计时器。 Interval属性设置触发Tick事件的时间周期此属性值的类型为TimeSpan。 简单介绍了DispatcherTimer类之后接下来模拟实现一个简易的计时器。在Visual Staudio 2012中新建一个Visual C的Windows应用商店的空白应用程序项目并命名为DispatcherTimerDemo接着在MainPage.xaml文件的Grid元素中添加如下的代码用于布局前台界面。 StackPanel HorizontalAlignmentCenter Margin50,300,0,0 TextBlock x:NameClockText FontSize24/TextBlock Grid Grid.ColumnDefinitions ColumnDefinition WidthAuto/ColumnDefinition ColumnDefinition Width*/ColumnDefinition /Grid.ColumnDefinitions Button x:NameStart ClickStartClick Content开始 Grid.Column0/Button Button x:NameStop ClickStopClick Content停止 Grid.Column1/Button /Grid /StackPanel 在上面的代码中添加了一个TextBlock控件和两个按钮。将这个TextBlock控件命名为ClockText用来显示计时器的计时。两个按钮分别为开始按钮和停止按钮其中开始按钮用来启动计时器停止按钮用来停止计时器。 布局了前台界面以后接下来添加计时器的后台实现代码。打开MainPage.xaml.h头文件添加如下的代码 private: //声明DispatcherTimer类型变量timer Windows::UI::Xaml::DispatcherTimer^ timer; //声明TimeSpan类型变量timeSpan Windows::Foundation::TimeSpan timeSpan; //声明int32类型变量 int32 highNum; //声明int32类型变量 int32 lowNum; 在上面的代码中使用private关键字声明了四个私有的成员变量分别为timer、timeSpan、highNum和lowNum其中timer是一个DispatcherTimer类型的变量用来表示计时器timeSpan为TimeSpan类型的变量用来表示时间。highNum和lowNum都为int32类型的变量分别代表计时器的十位数和个位数。 声明了上述的变量之后接下来打开MainPage.xaml.cpp源文件并在构造函数中添加如下的代码 MainPage::MainPage() { InitializeComponent(); //创建DispatcherTimer类的对象 timerref new DispatcherTimer(); //为Tick事件添加事件函数 timer-Tick ref new EventHandlerObject^(this,DispatcherTimerDemo::MainPage::DispatcherTimerTick); // Duration属性记录的时间为1s timeSpan.Duration10000000; //设置时间间隔 timer-IntervaltimeSpan; //highNum变量赋值0 highNum0; //lowNum变量赋值0 lowNum0; } 在上面的代码中初始化一个DispatcherTimer类的对象timer并为timer对象的Tick事件添加事件处理函数DispatcherTimerTick后面将介绍DispatcherTimerTick函数的具体实现代码。然后把timeSpan变量的Duration属性赋值为10000000并将timeSpan变量赋值给timer对象的Interval属性使timer对象的Tick事件每1秒触发一次。最后将highNum变量和lowNum变量分别赋值为0用于表示计时器的起始时间。 在实现DispatcherTimerTick函数之前首先需要在MainPage.xaml.h头文件中进行声明代码如下所示 public: //更新计时器计时 void DispatcherTimerTick(Object^ sender, Object^ e); 在上述代码中使用public关键字声明一个公有的DispatcherTimerTick函数此函数用来更新计时器的计时并将更新后的计时显示到前台界面中。 声明了DispatcherTimerTick函数以后接下来在MainPage.xaml.cpp源文件中添加DispatcherTimerTick函数的实现代码具体代码如下所示 //更新计时器计时 void DispatcherTimerDemo::MainPage::DispatcherTimerTick(Object^ sender, Object^ e) { //当lowNum小于9时lowNum增1 if(lowNum9) { lowNum; } else { //当lowNum大于9时将lowNum设为0 lowNum0; //highNum小于9时highNum增1 if(highNum9) { highNum; } else { //highNum大于9时将highNum设为0 highNum0; } } //将计时显示到TextBlock控件中 ClockText-Text开始计时highNumlowNum; } 在上面的代码中当lowNum变量的值小于9时lowNum变量自增1。而当lowNum变量的值大于9时将lowNum变量赋值为0并设置highNum变量的值。同样当highNum变量的值小于9时highNum变量自增1。而当highNum变量大于9时将highNum变量赋值为0。最后将highNum变量和lowNum变量赋值给名为ClockText的TextBlock控件的Text属性用于将计时显示到前台界面中。 添加了DispatcherTimerTick函数的实现代码后接下来为开始按钮添加单击事件处理函数StartClick。在MainPage.xaml.h头文件中添加如下的代码用来声明StartClick函数。 public: //启动计时器 void StartClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); 声明了StartClick函数之后接下来在MainPage.xaml.cpp源文件中添加StartClick函数的实现代码在此函数中调用timer对象的Start函数来启动计时器。具体代码如下所示 //启动计时器 void DispatcherTimerDemo::MainPage::StartClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { timer-Start(); } 接着给停止按钮添加单击事件处理函数StopClick在MainPage.xaml.h头文件中添加如下的代码用来声明StopClick函数。 public: //停止计时器 void StopClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); 声明了StopClick函数之后接下来在MainPage.xaml.cpp源文件中添加StopClick函数的实现代码在此函数中调用timer对象的Stop函数来停止计时器。具体代码如下所示 //停止计时器 void DispatcherTimerDemo::MainPage::StopClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { timer-Stop(); } 运行DispatcherTimerDemo项目后单击开始按钮启动计时器显示如图20-1所示的计时器界面。 图20-1 计时器
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920618.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!