例如:
我让TextBox控件绑定到一个StringBuilder:textBox1.DataBindings.Add("Text", stringBuilder1, null );然后在另一个地方往StringBuilder中加入一些内容,eg:private void button1_Click_1(object sender, EventArgs e)
{
string str = String.Empty;
for (int i = 0; i < 80; ++i)
{
    str = "the number is: " + i;
    stringBuilder1.AppendLine(str);
}
 }为什么此时TextBox中没有实时的输出StringBuilder中的内容呢?
难道for循环中的语句一定要写成如下这样才行????private void button1_Click_1(object sender, EventArgs e)
{
string str = String.Empty;
for (int i = 0; i < 80; ++i)
{
    str = str + "the number is: " + i +  Environment.NewLine;
    textBox1.text = str;     
}
 }

解决方案 »

  1.   

    要用委托和线程。不用stringBuilder给你个参考 public delegate void OutDelegate(Label label,string str);
           /// <summary>
           /// 向System.Window.Form.Label输出文本信息
           /// </summary>
            /// <param name="label">System.Window.Form.Label</param>
           /// <param name="text">文本信息</param>
           public void outext(Label label, string text)
           {           if (label.InvokeRequired)
               {               OutDelegate Outstr = new OutDelegate(outext);               label.BeginInvoke(Outstr, new object[] { label, text });               return;           }
               label.Text = text;
           }把label改为textbox
      

  2.   


    老大,要授人以渔啊!!告诉我why???