目的 : 点击Button后, 每隔300ms改变某块区域的背景颜色.
最终效果:
(附上截取动态图的小软件点击打开链接)
前台代码:
<Window x:Class="WPDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="textBoxRun" Height="300" Width="300">
<Window.Resources>
</Window.Resources>
<Grid>
<Button Width="150" Height="30" Margin="28,84,114,156" Content="button" Click="Button_Click_1" />
<Grid x:Name="grid" HorizontalAlignment="Left" Height="100" Margin="182,133,0,0" VerticalAlignment="Top" Width="100"/>
</Grid>
</Window>
后台代码:
namespace WPDemo
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private DispatcherTimer timer1;
private DispatcherTimer timer2;
private void Button_Click_1(object sender, RoutedEventArgs e)
{
timer1 = new System.Windows.Threading.DispatcherTimer();
timer1.Interval = new TimeSpan(0, 0, 0, 0, 600); //设定时间
timer1.Start(); // timer1开始计时
timer1.Tick += new EventHandler(timer_Tick); // 到时间后执行功能
}
void timer_Tick(object sender, EventArgs e)
{
timer2 = new System.Windows.Threading.DispatcherTimer();
timer2.Interval = new TimeSpan(0, 0, 0, 0, 300);
this.grid.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("Blue"));
timer2.Start(); // 执行完功能后开始计时
timer2.Tick += new EventHandler(timer_Tick1); // timer2到时的时候执行功能
}
void timer_Tick1(object sender, EventArgs e)
{
this.grid.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("Red"));
timer2.Stop(); // timer2停止计时
}
}
}