首页 > 解决方案 > 试图学习如何从 c# 中的表单获取用户输入的数据以显示到标签上,Visual Studio 没有显示错误,但标签不会更新

问题描述

我还是 c# 的新手,所以我不完全确定我的代码是否正确,但我想让用户将数据输入表单并将其显示在表单右侧的标签上。Visual Studio 没有给我的代码任何错误,所以我不确定它的哪一部分是错误的。我有几种不同类型的输入,从常规文本、电话号码和单选按钮。顺便说一句,我正在使用 .net winforms 来完成我的所有编码工作。下面是我的代码的副本。

        private void label1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text != "")
            {
                errorProvider1.Clear();
                label1.Text = textBox1.Text;
            }
            else
            {
                errorProvider1.SetError(textBox1, "Please Enter Text!");
            }

        }

        private void label2_Click(object sender, EventArgs e)
        {
            if (maskedTextBox1.Text != "")
            {
                errorProvider1.Clear();
                label2.Text = maskedTextBox1.Text;
            }
            else
            {
                errorProvider1.SetError(maskedTextBox1, "Please Enter Text!");
            }

        }

        private void label3_Click(object sender, EventArgs e)
        {
            if (groupBox1.Text != "")
            {
                errorProvider1.Clear();
                label3.Text = groupBox1.Text;
            }
            else
            {
                errorProvider1.SetError(groupBox1, "Please Enter Text!");
            }

        }

        private void label4_Click(object sender, EventArgs e)
        {
            if (twoyear.Text != "")
            {
                errorProvider1.Clear();
                label4.Text = twoyear.Text;
            }
            else
            {
                errorProvider1.SetError(twoyear, "Please Enter Text!");
            }

        }

        private void label5_Click(object sender, EventArgs e)
        {
            if (fouryear.Text != "")
            {
                errorProvider1.Clear();
                label5.Text = fouryear.Text;
            }
            else
            {
                errorProvider1.SetError(fouryear, "Please Enter Text!");
            }

        }

        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {
            monthCalendar1.MaxSelectionCount = 1;
        }

        private void label6_Click(object sender, EventArgs e)
        {

        }

        private void Lab3_Load(object sender, EventArgs e)
        {

        }
    }
}

标签: c#winforms

解决方案


要让用户输入文本,您只需要使用以下代码:

private void label1_Click(object sender, EventArgs e)
    {
        if (textBox1.Text == "")
        {
            //Show a message box (a little pop-up form with a message on it) to tell the user that they forgot to enter something into the textbox.
            //if you don't want the messagebox, just leave this section blank (delete 'messagebox.show("---"))

            MessageBox.Show("Oops, you forgot to enter something into the textbox - try again");
        }
        else //else are used to ask the computer, if the above if statement is not true (so the textbox text doesn't equal "")
        {
            label1.Text = textBox1.Text;
        }
    }

对于单选按钮,请使用以下代码:

private void radioButton1_CheckedChanged(object sender, EventArgs e)
    {
        if (textBox1.Text == "")
        {
            //Show a message box (a little pop-up form with a message on it) to tell the user that they forgot to enter something into the textbox.
            //if you don't want the messagebox, just leave this section blank (delete 'messagebox.show("---"))

            MessageBox.Show("Oops, you forgot to enter something into the textbox - try again");
        }
        else //else are used to ask the computer, if the above if statement is not true (so the textbox text doesn't equal "")
        {
            label1.Text = textBox1.Text;

            //change label1 to whatever's text you want to change (radioButton1, textBox1, button1, etc.)
        }
    }

推荐阅读