我正在为学校做作业,我需要读取用户名(并生成测试成绩),并且我想使用标签在用户点击“提交测试”按钮时将此信息显示给用户从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#很新,所以如果有任何额外的有用信息,我都会听到。
答案 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();
这是推荐的方式