0

フォームでリードストリームを開きました。そのストリームから読み取り、テキストを別のフォームの textbox に送信しています。テキストが readstream に到着したらすぐに、テキストをテキストボックスに更新したい。
最初の形式のコード:->

 f2.ShowDialog(); //f2 is second form's object
 while (true)
 {
    string inp_msg = sr.ReadLine();

    f2.set_text(inp_msg);
    this.Refresh();              
 }

2 番目の形式で定義された set_text 関数:->

 public void set_text(string msg)
 {
    //MessageBox.Show(msg);            
    textBox1.Text = textBox1.Text + msg +  "\r\n";
    //Application.DoEvents();
 }

問題は、テキストボックスが更新されていないことです。

4

1 に答える 1

0

「f2.ShowDialog()」の代わりに、以下を呼び出してみてください。

f2.Show();

メソッド 'ShowDialog()' を呼び出すと、そのステートメントの後のコードは、フォームが閉じられるまで実行されません。

詳細については、 http://msdn.microsoft.com/en-us/library/c7ykbedk.aspxを参照してください。

于 2013-08-18T06:13:15.393 に答える