Home > other >  Basic looping login menu
Basic looping login menu

Time:04-29

I'm trying to make my login system reject a blank space. I've used a while loop to try and make it loop back but it wont work. Ive currently made it only 0-9 is accepted, but would rather any numbers are accepted and just blank spaces are looped back to login again after a message box. Any help would be appreciated, thanks

namespace OrderingSystem
{
    public partial class Login : Form
    {
        public Login()
        {
            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)
        {
            
            Button num = (Button)sender;
            if (num.Text == "1")
            { 
                    lblPin.Text = lblPin.Text   num.Text; 
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {

            Button num = (Button)sender;
            if (num.Text == "2")
            {
                    lblPin.Text = lblPin.Text   num.Text;
            }
        }

        

        private void lblPin_Click(object sender, EventArgs e)
        {

        }

        private void button3_Click(object sender, EventArgs e)
        {
            Button num = (Button)sender;
            if (num.Text == "3")
            {
                lblPin.Text = lblPin.Text   num.Text;
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            Button num = (Button)sender;
            if (num.Text == "4")
            {
                lblPin.Text = lblPin.Text   num.Text;
            }
        }

        private void button5_Click(object sender, EventArgs e)
        {
            Button num = (Button)sender;
            if (num.Text == "5")
            {
                lblPin.Text = lblPin.Text   num.Text;
            }
        }

        private void button6_Click(object sender, EventArgs e)
        {
            Button num = (Button)sender;
            if (num.Text == "6")
            {
                lblPin.Text = lblPin.Text   num.Text;
            }
        }

        private void button7_Click(object sender, EventArgs e)
        {
            Button num = (Button)sender;
            if (num.Text == "7")
            {
                lblPin.Text = lblPin.Text   num.Text;
            }
        }

        private void button8_Click(object sender, EventArgs e)
        {
            Button num = (Button)sender;
            if (num.Text == "8")
            {
                lblPin.Text = lblPin.Text   num.Text;
            }
        }

        private void button9_Click(object sender, EventArgs e)
        {
            Button num = (Button)sender;
            if (num.Text == "9")
            {
                lblPin.Text = lblPin.Text   num.Text;
            }
        }

        private void button10_Click(object sender, EventArgs e)
        {
            Button num = (Button)sender;
            if (num.Text == "0")
            {
                lblPin.Text = lblPin.Text   num.Text;
            }
        }

        public static string server = "";

        private void btnEnter_Click(object sender, EventArgs e)
        {
            bool IncorrectPin = true;
            while (IncorrectPin)
            {
                if (lblPin.Text == "1")
                {
                    server = "Oli";
                    IncorrectPin = false;
                }
                else if (lblPin.Text == "0")
                {
                    server = "Training";
                    IncorrectPin = false;

                }
                else if (lblPin.Text == "2"   "3"   "4"   "5"   "6"   "7"   "8"   "9")
                {
                    server = "Please Login";
                    IncorrectPin = false;
                }
                else
                {
                    MessageBox.Show("Please enter a pin 0-9");
                } 
            }
            
            this.Hide();
            TillView sistema = new TillView();
            sistema.ShowDialog();
            this.Close();


        }



        private void Login_Load(object sender, EventArgs e)
        {

        }
    }
}

CodePudding user response:

This isn't perfect by any means, but should get the behavior you want. Don't see any need for a loop.

Per your comment

but would rather any numbers are accepted

I do no tests against numberEntered. But you could check that against a range if you wanted.

private void btnEnter_Click(object sender, EventArgs e)
{
    int numberEntered = -1;
    //Presuming you only want integers
    //This returns false if we can't convert the text to an int
    if (!int.TryParse(lblPin.Text, out numberEntered))
    {
        MessageBox.Show("Please enter a pin using numbers only, no spaces");
        return;
    }
    if (numberEntered == 1)
    {
        server = "Oli";
    }
    else if (numberEntered == 0)
    {
        server = "Training";
    }
    else
    {
        server = "Please Login";
    }

    this.Hide();
    TillView sistema = new TillView();
    sistema.ShowDialog();
    this.Close();
}
  • Related