C#wpf制作时钟
时间: 2023-07-04 13:09:05 浏览: 68
下面是一个简单的 C# WPF 时钟的示例代码:
XAML 部分:
```xml
<Window x:Class="WpfClock.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WPF Clock" Height="200" Width="200">
<Grid>
<Ellipse Width="100" Height="100" Fill="White"/>
<Canvas Margin="50">
<Line X1="50" Y1="50" X2="50" Y2="10" Stroke="Black" StrokeThickness="2"/>
<Line X1="50" Y1="50" X2="90" Y2="50" Stroke="Black" StrokeThickness="2"/>
<Line X1="50" Y1="50" X2="45" Y2="85" Stroke="Black" StrokeThickness="2"/>
<Line X1="50" Y1="50" X2="55" Y2="85" Stroke="Black" StrokeThickness="2"/>
<Line X1="50" Y1="50" X2="10" Y2="50" Stroke="Red" StrokeThickness="1"/>
<Line X1="50" Y1="50" X2="50" Y2="90" Stroke="Red" StrokeThickness="1"/>
</Canvas>
<TextBlock x:Name="txtTime" Margin="70,100,0,0" FontSize="20"/>
</Grid>
</Window>
```
C# 部分:
```cs
using System;
using System.Windows;
using System.Windows.Threading;
namespace WpfClock
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromSeconds(1);
timer.Tick += Timer_Tick;
timer.Start();
}
private void Timer_Tick(object sender, EventArgs e)
{
txtTime.Text = DateTime.Now.ToString("hh:mm:ss tt");
}
}
}
```
这个时钟使用了一个 `Ellipse` 控件来表示时钟的外形,使用 `Canvas` 控件来添加时钟的刻度和指针,使用 `TextBlock` 控件来显示当前时间。`DispatcherTimer` 用于每秒更新一次当前时间。