不足之处请大佬修改

表盘设计界面


<Window x:Class="动画表.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:动画表"mc:Ignorable="d"Title="表" Height="800" Width="800" Loaded="Window_Loaded"><Canvas x:Name="bg"><Canvas.ContextMenu><ContextMenu Name="nao" StaysOpen="True"><MenuItem Header="设置闹钟" Click="MenuItem_Click"></MenuItem></ContextMenu></Canvas.ContextMenu><Border x:Name="miao" Background="Black" Width="1" Height="360" Canvas.Left="400" Canvas.Top="40"></Border><Border x:Name="fen" Background="Green" Width="2" Height="280" Canvas.Left="400" Canvas.Top="120"></Border><Border x:Name="shi" Background="Red" Width="3" Height="200" Canvas.Left="400" Canvas.Top="200"></Border></Canvas>
</Window>

表盘代码界面

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Media.Animation;namespace 动画表
{/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();}Storyboard story = new Storyboard();private void Window_Loaded(object sender, RoutedEventArgs e){this.Left = 200;this.Top = -10;//获取当前时间double Miao = DateTime.Now.Second * 6;double Fen = DateTime.Now.Minute*6;double Hour =(DateTime.Now.Hour*30)+(DateTime.Now.Minute*0.5);//创建背景Image biao = new Image();biao.Source = new BitmapImage(new Uri("../../img/biao.png", UriKind.Relative));ImageBrush img = new ImageBrush();img.ImageSource = biao.Source;bg.Background = img;//秒DoubleAnimation rotate = new DoubleAnimation(Miao, 360+Miao, new Duration(TimeSpan.FromSeconds(60)));Storyboard.SetTarget(rotate, miao);Storyboard.SetTargetProperty(rotate, new PropertyPath("RenderTransform.Angle"));rotate.RepeatBehavior = RepeatBehavior.Forever;story.Children.Add(rotate);RotateTransform rota = new RotateTransform();miao.RenderTransform = rota;miao.RenderTransformOrigin = new Point(1, 1);story.Begin();//分DoubleAnimation f = new DoubleAnimation(Fen, Fen + 360, new Duration(TimeSpan.FromHours(1)));Storyboard.SetTarget(f, fen);Storyboard.SetTargetProperty(f, new PropertyPath("RenderTransform.Angle"));f.RepeatBehavior = RepeatBehavior.Forever;story.Children.Add(f);RotateTransform rota1 = new RotateTransform();fen.RenderTransform = rota1;fen.RenderTransformOrigin = new Point(1, 1);story.Begin();//小时DoubleAnimation  s= new DoubleAnimation(Hour, Hour + 360, new Duration(TimeSpan.FromHours(12)));Storyboard.SetTarget(s, shi);Storyboard.SetTargetProperty(s, new PropertyPath("RenderTransform.Angle"));s.RepeatBehavior = RepeatBehavior.Forever;story.Children.Add(s);//旋转RotateTransform rota2 = new RotateTransform();shi.RenderTransform = rota2;shi.RenderTransformOrigin = new Point(1, 1);story.Begin();}private void MenuItem_Click(object sender, RoutedEventArgs e){nao n = new nao();n.Show();}}
}

闹钟设计界面

<Window x:Class="动画表.nao"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:动画表"mc:Ignorable="d"Title="nao" Height="450" Width="800" Loaded="Window_Loaded"><Canvas x:Name="bg" Background="Pink"><Button Content="设置闹钟" x:Name="bt" Background="Aqua" Canvas.Left="100" Canvas.Top="186" Width="120" Height="35" Click="Button_Click"/><ComboBox x:Name="shi" Canvas.Left="100" Canvas.Top="88" Width="120" Height="35" Background="Blue"><ComboBoxItem Content="0" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="1" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="2" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="3" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="4" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="5" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="6" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="7" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="8" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="9" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="10" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="11" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="12" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="13" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="14" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="15" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="16" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="18" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="19" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="20" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="21" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="22" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="23" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="24" HorizontalAlignment="Left" Width="118.4"/></ComboBox><ComboBox x:Name="fen" Canvas.Left="315" Canvas.Top="88" Width="120" Height="35"><ComboBoxItem Content="00" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="01" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="02" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="03" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="04" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="05" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="06" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="07" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="08" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="09" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="10" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="11" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="12" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="13" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="14" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="15" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="16" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="18" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="19" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="20" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="21" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="22" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="23" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="24" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="25" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="26" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="27" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="28" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="29" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="30" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="31" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="32" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="33" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="34" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="35" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="36" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="37" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="38" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="39" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="40" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="41" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="42" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="43" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="44" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="45" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="46" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="47" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="48" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="49" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="50" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="51" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="52" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="53" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="54" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="55" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="56" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="57" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="58" HorizontalAlignment="Left" Width="118.4"/><ComboBoxItem Content="59" HorizontalAlignment="Left" Width="118.4"/></ComboBox><Label Content="时:" Canvas.Left="51" Canvas.Top="97" RenderTransformOrigin="1.71,0.614" Width="28"/><Label Content="分:" Canvas.Left="268" Canvas.Top="97"/><ListBox x:Name="lis" Height="182" Canvas.Left="510" Canvas.Top="97" Width="120" /><Label Content="" x:Name="te" Canvas.Left="100" Canvas.Top="321" RenderTransformOrigin="1.71,0.614" Width="332" Height="26"/></Canvas>
</Window>

闹钟代码界面

using System;
using System.Collections.Generic;
using System.Linq;
using System.Media;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Windows.Threading;namespace 动画表
{/// <summary>/// nao.xaml 的交互逻辑/// </summary>public partial class nao : Window{public nao(){InitializeComponent();}//计时器DispatcherTimer tim = new DispatcherTimer();//音频SoundPlayer die = new SoundPlayer("../../music/nao.wav");private void Window_Loaded(object sender, RoutedEventArgs e){//计时器tim.Interval = new TimeSpan(1000);tim.Tick += Tim_Tick;}bool b = true;//接收剩余时间TimeSpan result;private void Tim_Tick(object sender, EventArgs e){if (b) { //刷新时间DateTime time = DateTime.Now;//获取小时int shi1 = Convert.ToInt32(shi.Text);//获取分钟int fen1 =Convert.ToInt32(fen.Text);//获取设置的时间 DateTime da = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, shi1,fen1,0);//减去剩余的时间result = da - time;//显示剩余的时间te.Content ="剩余时间"+result.ToString();//剩余的秒为小于0的时候if (result.TotalSeconds <= 0){//剩余时间的文本内容上面为te.Content = "00:00:00";shi.IsEnabled = true;fen.IsEnabled = true;bt.IsEnabled = true;//音乐响起die.Play();//停止计时器tim.Stop();if (MessageBox.Show("时间到啦,是否关闭音乐", "闹钟", MessageBoxButton.YesNo, MessageBoxImage.Asterisk) == MessageBoxResult.Yes){die.Stop();}te.Content = "时间到啦!太阳都晒屁股了";}else{shi.IsEnabled = false;fen.IsEnabled = false;bt.IsEnabled = false;}}}private void Button_Click(object sender, RoutedEventArgs e){//获取combox的内容显示在lisbox里面string s = shi.Text + "时" + fen.Text + "分";lis.Items.Add(s);tim.Start();}}
}

C# WPF时钟表盘 及设置闹钟相关推荐

  1. 基于51单片机的1602LCD时钟、可以设置闹钟(带仿真)

    基于51单片机的1602LCD时钟.可以设置闹钟 最近做了个51单片机的时钟.具有设置时间.闹钟等功能 程序分为3个模块.程序比较简单.由于用于学习交流用没有做掉电运行功能. 供大家学习. isis仿 ...

  2. 51单片机 时钟显示、设置闹钟功能的实现 (附详细算法思路、proteus电路图)

    功能要求: 1.利用定时器中断实现时钟功能,格式:时-分-秒. 2.实现时钟显示和闹钟设置两个功能的切换. 3.闹钟设置,且限定字符格式(如时针不得超过24等). 4.时钟到达预设值时,闹铃正常响起, ...

  3. 【FPGA】数码管电子时钟(可设置时间和闹钟)

    目录 前言 一丶需求分析 1.设置时间 2.设置闹钟 二丶工程源码 1.counter 2.seg_driver 3.key_debounce 4.beep 5.顶层模块 三丶模块原理图 四丶管脚信息 ...

  4. jquery实现app开发闹钟功能_jquery+html5时钟特效代码共享(可设置闹钟并且语音提醒)...

    本文实例讲述了Jquery+html5可设置闹钟并且会语音提醒的时钟特效.共享给大家供大家参考.详细如下: 这是一个使用Jquery+html5实现可设置闹钟并且会语音提醒的时钟特效代码,超逼真的模拟 ...

  5. 御用导航官方网站提醒提示页_电脑上使用便签记录工作计划如何设置闹钟定时提醒?...

    平常工作日程事务比较多时,就很容易忘掉一些工作,这个时候很多工作族会选择经常使用的电脑工具来记录每日的工作计划,电脑如何设置闹钟定时提醒工作计划呢? 电脑便签可以用来记录工作计划闹钟定时提醒的软件,建 ...

  6. 基于51单片机 + ds12c887 + ds18b20 + lcd1602的时钟温度显示器(带闹钟功能)

    一.简介 本设计是基于51单片的的时间温度显示器,可以实现设置年月日.星期以及时分秒和温度的功能,此外还可以设置闹钟,到达设定的时间后会触发蜂鸣器报警,起到一个定时报警的功能. 1.在1602液晶上显 ...

  7. android手机闹钟在那里面,手机闹钟软件哪个好用 安卓手机怎么设置闹钟

    一到冬天,起床就非常的困难.然而,给自己的手机设个闹钟就不用担心早上起不来了.现如今,手机几乎人手都会有,手机软件是个非常实用的软件,除了基本提醒的功能外,更多的辅助功能在生活中被广泛应用.那手机闹钟 ...

  8. 普通计算机怎么改闹铃的音乐,怎么设置闹钟铃声为自己喜欢的音乐

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 以OPPO手机为例,设置闹钟铃声为自己喜欢的音乐的方法是: 1.打开闹钟后点击一个闹钟或者新建一个闹钟. 2.选择铃声. 3.点击 ...

  9. 使用计算机完成怎样的工作计划,电脑上使用便签记录工作计划如何设置闹钟定时提醒?...

    原标题:电脑上使用便签记录工作计划如何设置闹钟定时提醒? 平常工作日程事务比较多时,就很容易忘掉一些工作,这个时候很多工作族会选择经常使用的电脑工具来记录每日的工作计划,电脑如何设置闹钟定时提醒工作计 ...

最新文章

  1. 跑不出来_内蒙古23只狍子罕见列队出没,它们是出来透透气?
  2. Groovy里的绕过getter方法直接访问类属性的办法
  3. 使用PerfView监测.NET程序性能(二):Perfview的使用
  4. 初学者怎么自学python编程_怎样自学python编程?从零开始学习python,400集免费教程!...
  5. 【速学速记】Python 高阶函数
  6. 《机器学习实战》KNN算法实现
  7. Redis的安装和使用之二------phpredis与phpRedisAdmin
  8. 用C语言显示所有Ascll表
  9. 《不只是美:信息图表设计原理与经典案例》—— 2.2 数据的展示形式
  10. opencv+paddle orc 识别图片提取表格信息
  11. 地图染色(四色定理)问题
  12. 中兴olt xpon开局及业务配置以及原理
  13. android没有adm_这可能是安卓平台上最好的下载器:ADM
  14. Python自动获取邮箱验证码【上集】
  15. 【vue3 Api - watchEffect 的讲解 使用】- 侦听响应式数据执行副作用(effect)函数
  16. mac自动给视频加字幕(ffmpeg,autosub)
  17. 量化投资工具-AKShare是如何进行投资交易的?
  18. amfori BSCI行为守则(2021)最新版-2023年生效
  19. FairyGui简单介绍
  20. unicast、broadcast、multicast的区别

热门文章

  1. ubuntu相关软件安装
  2. k8s中部署prometheus监控告警系统-prometheus系列文章第一篇
  3. 红楼梦人物出场统计python_Python程序设计习题3——红楼梦人物出场次数统计
  4. 第七章(五)—主动信息收集—端口扫描(基于TCP全连接扫描、隐蔽扫描、僵尸扫描、UDP的端口扫描)
  5. NDN-lite 命名数据网络 -----第二章:对Interest和Data包的处理
  6. windows安装perl
  7. Android 获取世界时区
  8. 中国股市实行T+1,这是保护散户还是坑散户?
  9. 滚动截屏APP—Faststone Capture破解版注册码
  10. 在少儿编程中使用easygui来实现交互(1)——msgbox