2015-09-07 47 views
1

我的代码:插入数据

private void timer4_Tick(object sender, EventArgs e) 
{ 
    for (int a = 0; a < 10; a++) 
    { 
     var infos = webBrowser1.Document.GetElementsByTagName("img")[a].GetAttribute("src"); 
     richTextBox1.Text = infos; 
    } 
    timer4.Stop(); 
} 

我想插入所有的RichTextBox 10个SRC值的,而我的代码做一次。

+1

好吧,您将'richTextBox1.Text'设置为'infos',忽略了以前的值。也许你想'richTextBox1.AppendText(infos)'? –

回答

7

您可以使用AppendText

更换

richTextBox1.Text = infos; 

richTextBox1.AppendText(infos); 

OR

richTextBox1.Text += infos + Environment.NewLine; 
+0

在这种情况下'string.Concat'可能会比'string.Format'更好。 – Bauss

0

你的代码做的是设置等于每个文本,超过10倍。

所以我猜你的输出将是最后的infos变量?你可能想要做的却是这样的:

private void timer4_Tick(object sender, EventArgs e) 
{ 
    for (int a = 0; a < 10; a++) 
    { 
     var infos = webBrowser1.Document.GetElementsByTagName("img")[a].GetAttribute("src"); 
     richTextBox1.Text += infos; // the "+=" will add each infos to the textbox 
    } 
    timer4.Stop(); 
} 

正如你可以看到,如果使用+=,而不是仅仅=,它在每次迭代增加,而不是仅仅重写整个价值的整体,每一次。

1

这条线是错误的。

richTextBox1.Text = infos; 

这是正确的。

richTextBox1.AppendText= infos;