使用变量设置标签文本
本文关键字:标签 文本 设置 变量 | 更新日期: 2023-09-27 18:10:51
我正在为学校做一项作业,我需要读取用户名(并生成考试成绩),我想使用标签将此信息显示给用户,每当他们从Windows窗体点击"提交测试"按钮时。我已经尝试了几种不同的方法
label3.Text = "{0} {1}", name, score;
failed
我也试过了:
label3.Text = test.ToString();
已工作,但GUI显示System.Windows.Forms.TextBox, Text: (name) (score)
这是我正在使用的代码片段,如果我需要发布更多,请让我知道。
private void btnSubmitTest_Click(object sender, EventArgs e)
{
Random rdm = new Random();
int testScore = rdm.Next(0, 100);
string score = testScore.ToString();
string name = txtName.ToString();
//Generate a new test that passes in
Test tests = new Test(name, score);
label3.Text = tests.ToString();
}
我对c#非常陌生,所以如果有任何额外有用的信息,我洗耳恭听。
如果要获取或设置Textbox
的文本,则使用其Text
属性。在一个新对象上调用ToString()
将不会得到你期望的结果,除非你覆盖ToString()
方法。
像这样试试
private void btnSubmitTest_Click(object sender, EventArgs e)
{
Random rdm = new Random();
int testScore = rdm.Next(0, 100);
string score = testScore.ToString();
string name = txtName.Text;
//Generate a new test that passes in
Test tests = new Test(name, score);
label3.Text = String.Format("{0} {1}", name, score);
}
你差一点就成功了。
label3.Text = String.Format ("{0} {1}", name, score);
这很简单
你有很多方法来解决它
String.Format("bla {0} blabla {1}",var1,var2);
或
$"bla {var1} blabla {var2}";
如您所见,这种方式比使用+ operator
连接字符串要好。
最有效的方法之一是在Class
中重写ToString()
方法class Test
{
private string _a;
private int _b;
public Test(string a, int b)
{
_a = a;
_b = b;
}
public override string ToString()
{
return string.Format("{0}, {1}", _a, _b);
}
}
允许你以一种非常可读的方式打印出你的对象就像这样
Test test1=new Test("Hello All",1);
string TextObject = test1.ToString();
这是推荐的方式