使用变量设置标签文本

时间:2015-09-02 20:16:50

标签: c#

我正在为学校做作业,我需要读取用户名(并生成测试成绩),并且我想使用标签在用户点击“提交测试”按钮时将此信息显示给用户从Windows窗体。我尝试了几种不同的方式

label3.Text = "{0} {1}", name, score;失败

我也尝试过:

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#很新,所以如果有任何额外的有用信息,我都会听到。

3 个答案:

答案 0 :(得分:1)

你几乎做到了。

label3.Text = String.Format ("{0} {1}", name, score);

答案 1 :(得分:1)

如果您想获取或设置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);
            }

答案 2 :(得分:0)

非常简单

你有很多方法可以解决它

String.Format("bla {0} blabla {1}",var1,var2);

$"bla {var1} blabla {var2}";
  

如您所见,这种方法比使用+ operator

连接字符串更好

,其中一种最有效的方法是覆盖ToString()

中的Class方法
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();

这是推荐的方式