回 帖 发 新 帖 刷新版面

主题:求助,密码输入错误3次退出系统,这个程序用C#怎么编?

在窗体应用程序里面编。
做简单点,窗体里就1个标签,1个文本框,1个按钮,退出系统就是关闭窗口。

主要是怎么实现输入错误3次退出系统?

请大家帮帮忙,谢谢啦!!  


[em1][em1]


我用了个循环,密码输入错误就弹出消息框,显示还剩几次机会。第一次输错弹出个消息框显示还剩2次,但是点了“确定”后却继续弹出下一个消息框显示还剩1次,再确定就弹出3次输入错误了。。。不能重新输密码,这该怎么办?

回复列表 (共5个回复)

沙发

不用循环,用一个全局属性记录次数
点按钮,先用一个if判断密码是否正确,不正确就次数加1,并提示,接下来再用一个if判断次数是否达到规定次数,达到就退出。
public void button_click事件 
{
    if(密码是否正确)
    {
      //进入系统
    }
    else
    {
      //次数加1;
     //弹出提示
    }
    
    if(次数等于规定次数)
    {
        //退出
    }
}

板凳


全局属性是什么?我才学的,能再教下我吗?

3 楼

全局变量

4 楼

if(a=密码)
{
return 1;
}
else
{
cout<<"还剩2次机会"<<endl<<"请重新输入密码:";
cin>>a;
if(a=密码){
return 1;
}else
{
cout<<"还剩2次机会"<<endl<<"请重新输入密码:";
cin>>a;
if(a=密码){
return 1;
}
else{
return 0;
}
}}

5 楼

public class FormTest : Form
    {
        private int _try_count = 0;
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.Button button1;
        private System.ComponentModel.IContainer components = null;

        public FormTest()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (this.textBox1.Text.Trim() == "你确定的密码!")
            {
                MessageBox.Show("密码正确");
            }
            _try_count++;
            MessageBox.Show("输入密码错误,已经尝试了"+_try_count.ToString()+"次!");
            if (_try_count == 3)
            {
                this.Close();
            }
        }
       
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }       
       
        private void InitializeComponent()
        {
            this.label1 = new System.Windows.Forms.Label();
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.button1 = new System.Windows.Forms.Button();
            this.SuspendLayout();
            // 
            // label1
            // 
            this.label1.AutoSize = true;
            this.label1.Location = new System.Drawing.Point(10, 23);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(65, 12);
            this.label1.TabIndex = 0;
            this.label1.Text = "请输入密码";
            // 
            // textBox1
            // 
            this.textBox1.Location = new System.Drawing.Point(81, 20);
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(100, 21);
            this.textBox1.TabIndex = 1;
            // 
            // button1
            // 
            this.button1.Location = new System.Drawing.Point(55, 59);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(75, 23);
            this.button1.TabIndex = 2;
            this.button1.Text = "确定";
            this.button1.UseVisualStyleBackColor = true;
            this.button1.Click += new System.EventHandler(this.button1_Click);
            // 
            // FormTest
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(191, 84);
            this.Controls.Add(this.button1);
            this.Controls.Add(this.textBox1);
            this.Controls.Add(this.label1);
            this.Name = "FormTest";
            this.Text = "FormTest";
            this.ResumeLayout(false);
            this.PerformLayout();

        }
    }

我来回复

您尚未登录,请登录后再回复。点此登录或注册