WPF获取验证码倒计时
1.先看看效果
2.xaml代码:
<Window x:Class="WpfApp1.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:WpfApp1" mc:Ignorable="d" Title="https://www.cnblogs.com/yellow3gold/" Height="60" Width="100"> <Grid> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="1*"></ColumnDefinition> </Grid.ColumnDefinitions> <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Name="getCheckWord" Visibility="Visible" FontSize="11" Foreground="Black" Text="获取验证码" PreviewMouseLeftButtonDown="getCheckWord_Click"/> </Grid> </Grid> </Window>
3.cs代码:
using System; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Input; namespace WpfApp1 { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private async void getCheckWord_Click(object sender, MouseButtonEventArgs e) { var Verification_Code = 6; var block = sender as TextBlock; var text = block.Text.ToString(); block.IsEnabled = false; for (int i = Verification_Code - 1; i >= 0; i--) { block.Text = "重新获取(" + i + "s)"; await Task.Delay(TimeSpan.FromSeconds(1)); } block.IsEnabled = true; block.Text = text; } } }