C# Как перезапустить код в форме загрузки

Для своей программы я пишу, я хочу попросить имя, и если у входа есть номер или другой нежелательный ввод, чтобы вернуться к началу и сделать это снова.

Это мой текущий код

private void gameForm_Load(object sender, EventArgs e)
{
    string value = "Type here";
    if (globalVariables.InputBox("Name", "Please enter name", ref value) == DialogResult.OK)
    {
        name = value;
        if (name.All(char.IsLetter))
        {
            lblName.Text = value;
        }
        else
        {
        }
    } 
}

Как я могу повторно запустить этот код, если присутствует неверный ввод?

3 ответа

Решение

Вы можете использовать while петля

while(true)
{
   if (globalVariables.InputBox("Name", "Please enter name", ref value) == DialogResult.OK)
    {
        name = value;
        if (name.All(char.IsLetter))
        {
            lblName.Text = value;
            break;
        }
    }
}

Создайте новый метод public void NameCheck()"Затем поместите туда код, который вы хотите запустить"

Затем в загрузку страницы вы помещаете NameCheck(); вызвать метод.

Поэтому, если имя содержит числа, вы вызываете NameCheck(); снова в остальном.

    public void NameCheck()
    {
        string value = "Type here";
        if (globalVariables.InputBox("Name", "Please enter name", ref value) == DialogResult.OK)
        {
            name = value;
            if (name.All(char.IsLetter))
            {
                lblName.Text = value;
            }
            else
            {
                NameCheck();
            }
        }
    }


    private void gameForm_Load(object sender, EventArgs e)
    {
        NameCheck();
    }
    private void gameForm_Load(object sender, EventArgs e)
    {
        reAsk:
        string value = "Type here";
        if (globalVariables.InputBox("Name", "Please enter name", ref value) == DialogResult.OK)
        {
            name = value;
            if (name.All(char.IsLetter))
            {
                lblName.Text = value;
            }
            else
            {                      
                goto reAsk;
            }
        }
    }
Другие вопросы по тегам