C#实现发送验证码倒计时60秒

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#实现发送验证码倒计时60秒相关的知识,希望对你有一定的参考价值。

用C#编写代码,发送验证码后再“获取验证码”按钮显示倒计时60秒,急!!!求大神指教!!!
需要这样的效果,求大神用C#编写代码,顺便发份源码,谢谢大神!!

之前弄过的稍微改了下,你看看是不是这样。

整个Form就加了个Button控件,改名“获取验证”。

 public partial class Form1 : Form
    
        System.Timers.Timer reGetTimer = new System.Timers.Timer(); 
        public static int Times = 1;
        public Form1()
        
            InitializeComponent();
            reGetTimer.Elapsed += ReGetTimer_Elapsed;
            reGetTimer.Interval = 1000;
            reGetTimer.Enabled = false;
        

        private void ReGetTimer_Elapsed(object sender, ElapsedEventArgs e)
        
            if (Times <= 10)
            
                this.Invoke(new EventHandler(delegate  获取验证.Text = Times.ToString();));
                Times++;
            
            else
            
                reGetTimer.Enabled = false;
                Times = 1;
                this.Invoke(new EventHandler(delegate  获取验证.Text = "重新获取"; ));
            
        

        private void 获取验证_Click(object sender, EventArgs e)
        
            reGetTimer.Enabled = true ;
        
 

参考技术A

是这种效果吗?

追问

倒计时时间显示在按钮上面,“54秒后重新获取”。

追答

改个文字就行

追问

是显示到“获取验证码”按钮上面倒计时,60秒后才能重新再次“获取验证码,”不是在添加的label上显示倒计时。

追答

一个样

追问

能发个源码吗?

追答

web版本

追问

大神可以发一份C#版源代码给我吗?

实现发送短信验证码后60秒倒计时

方法一:js实现发送短信验证码后60秒倒计时

1、input[type=‘button’]按钮 js方法实现 
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript"> 
var countdown=60; 
function settime(obj) { 
    if (countdown == 0) { 
        obj.removeAttribute("disabled");    
        obj.value="免费获取验证码"; 
        countdown = 60; 
        return;
    } else { 
        obj.setAttribute("disabled", true); 
        obj.value="重新发送(" + countdown + ")"; 
        countdown--; 
    } 
setTimeout(function() { 
    settime(obj) }
    ,1000) 
}
  
</script>
<body> 
<input type="button" id="btn" value="免费获取验证码" onclick="settime(this)" /> 
</body>
</html>

方法二:jquery实现发送短信验证码后60秒倒计时

2、jquery方法实现


<!DOCTYPE html>
<html>
<head>

<script src="js/jquery.min.js"></script>
<script type="text/javascript"> 
function invokeSettime(obj){
    var countdown=60;
    settime(obj);
    function settime(obj) {
        if (countdown == 0) {
            $(obj).attr("disabled",false);
            $(obj).text("获取验证码");
            countdown = 60;
            return;
        } else {
            $(obj).attr("disabled",true);
            $(obj).text("(" + countdown + ") s 重新发送");
            countdown--;
        }
        setTimeout(function() {
                    settime(obj) }
                ,1000)
    }
}

  new invokeSettime("#btn");

</script>
<body> 
    <button id="btn" type="button">获取验证码</button>
</body>
</html>

以上是关于C#实现发送验证码倒计时60秒的主要内容,如果未能解决你的问题,请参考以下文章

js jquery 实现点击按钮后,倒计时60秒才能再次点击发送验证码

jQuery实现发送短信验证码后60秒倒计时

jQuery实现发送短信验证码后60秒倒计时

使用Jquery实现获取短信验证码60秒倒计时

js jquery 实现点击按钮后,倒计时60秒才能再次点击发送验证邮件

jquery实现手机发送验证码的倒计时代码