c#如何在表单加载中重新运行代码

本文关键字:重新运行 代码 加载 表单 | 更新日期: 2023-09-27 18:13:54

对于我正在编写的程序,我想要请求一个名称,如果输入有数字或其他不需要的输入,则返回并再次执行。

这是我当前的代码

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

如果存在无效输入,我如何重新运行此代码?

c#如何在表单加载中重新运行代码

创建一个新方法public void NameCheck()"然后把你想要运行的代码放进去"

然后在页面加载中放入NameCheck();调用方法

如果名字包含数字,调用NameCheck();在else.

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

您可以使用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;
        }
    }
}
    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;
            }
        }
    }