使用变量设置标签文本

本文关键字:标签 文本 设置 变量 | 更新日期: 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();

这是推荐的方式