实现 发送验证码的倒计时功能

说明:
要实现点击发送验证码按钮后,按钮上显示倒计时的时间,并在倒计时结束后,显示按钮(发送验证码)并可以点击.
技术点:CountDownTimer的使用.
handler.postDelayed的使用

1.先写出倒计时的实现
/**
* 设置倒计时
* */
Runnable timeRnRunnable = new Runnable() {

    @Override
    public void run() {

        mCountdownTimer = new CountDownTimer(60000, 1000) {

            @Override
            public void onTick(long millisUntilFinished) {
                int secondsRemaining = (int) (millisUntilFinished / 1000);

                verify_false.setText("已发送 (" + secondsRemaining + "s)");

            }

            @Override
            public void onFinish() {
                //设置按钮可点击状态
                showButton();

            }
        }.start();
    }
};

2.通过handler来调用
new Handler().postDelayed(timerunnable,0);

这样就实现了倒计时的功能了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 WinForm 中实现发送邮箱验证码倒计时按钮可以通过以下步骤完成: 1. 在窗体中添加一个按钮和一个文本框,用于输入邮箱地址和显示倒计时信息。 2. 在按钮的 Click 事件中,先进行邮箱地址的验证,如果验证不通过,则弹出提示框。 3. 如果验证通过,则调用发送邮件的方法,并开启一个计时器,用于实现倒计时功能。 4. 在计时器的 Tick 事件中,更新倒计时信息,并在倒计时结束时停止计时器。 以下是示例代码: ```csharp private int countDown = 60; // 倒计时时间(秒) private Timer timer = new Timer(); private void btnSend_Click(object sender, EventArgs e) { string email = txtEmail.Text.Trim(); if (!Regex.IsMatch(email, @"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$")) { MessageBox.Show("邮箱地址格式不正确!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } // 调用发送邮件的方法 SendEmail(email); // 开启计时器 countDown = 60; timer.Interval = 1000; timer.Tick += new EventHandler(timer_Tick); timer.Start(); } private void timer_Tick(object sender, EventArgs e) { countDown--; if (countDown == 0) { timer.Stop(); btnSend.Enabled = true; btnSend.Text = "发送验证码"; } else { btnSend.Enabled = false; btnSend.Text = string.Format("{0}秒后重发", countDown); } } ``` 在上述代码中,SendEmail 方法需要根据具体情况进行实现,用于发送邮件验证码。在计时器的 Tick 事件中,根据倒计时时间更新按钮的文本和状态,并在倒计时结束时停止计时器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值