c# - 试图学习如何从 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)
{
}
}
}
解决方案
要让用户输入文本,您只需要使用以下代码:
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.)
}
}
推荐阅读
- c++ - C++“'__gthread_active_p'未在此范围内声明”
- c# - 如何将组合框弹出窗口与左下 wpf 对齐?
- python - 无法使用 BeautifulSoup 正确解析 xml
- common-lisp - 何时消除警告的好例子?
- javascript - Javascript:如何推送密钥:已创建的 Javascript 对象中的对值
- android - YouTube 缩略图不会在 webview 中加载
- docker - 为什么删除docker镜像后基于docker镜像的容器还能运行?
- powershell - powershell 从延迟链接下载文件
- node.js - 如何使用nodejs连接vpn
- c# - 如何验证返回模拟的函数工厂的调用?