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;
}
}
}