2012-05-04 9 views
0

テキストボックスに何度も何かを表示したい。たとえば、このコードを使用して、richtextboxをmessageboxに置き換えると、ループが終了するまでテキストが表示され続けます。 textBox1のテキストをrichTextBox1に表示してから、プログラムを入力してからrichtextboxにもう一度入力します。申し訳ありませんが混乱の種ですが、ご質問いただければコメントしてください。私はもっと明確になります。これは私のコードです:C#で複数回テキストボックスにテキストを表示する方法は?

private void button1_Click(object sender, EventArgs e) 
    { 
     Clipboard.SetText(textBox1.Text); 

     int text = 0; 
     int end = int.Parse(textBox2.Text); 
     while (text<=end) 
     { 
      richTextBox1.Text=(Clipboard.GetText()); 
      text++; 
     } 

ありがとうございます!

+1

@RhysW申し訳ありません私はまだこのサイトの周りに自分の道を覚えようとしています、私は他の質問に私を助けた少数の人々を受け入れました。先端のおかげで! – Lavi

+0

聞いてよかったら、人々はお互いの相互作用の証拠を表示すると、一般的にあなたとやりとりするように感じるようになります。正直言って、スタックオーバーフローの全体との関係にあるように、中途半端に会ってください;) – RhysW

答えて

3

richTextBox1.Text=(Clipboard.GetText()); 

すべてのループでは、あなたがそう最後に、クリップボード上にあるものは何でもにテキストを設定しているので、あなたのコードが動作しない理由は、ループの中にはそれが一度しかありません。

richTextBox1.Text += richTextBox1.Text + (Clipboard.GetText()); 

または::

richTextBox1.Text += (Clipboard.GetText()); 

このリッチテキストボックスの最後にクリップボードのテキストを追加します、それはそれを複数回持つことになりますので、あなたは「を追加」またはテキストの末尾に追加する必要があります同じテキストを複数回使用しますが、すべて同じ行に表示されます。あなたはテキストを複数行に表示されるようにしたい場合は、テキストを追加した後に新しい行を追加する必要があります。

richTextBox1.Text += (Clipboard.GetText())+"\r\n"; 

または:

richTextBox1.Text += (Clipboard.GetText())+Enviroment.NewLine; 

希望をこのことができます!

+0

ありがとうございました!完璧に働いた! – Lavi

+0

非常に有益で、たくさんの例があります! – RhysW

+0

@Lavi問題ないです。喜んで助けてください! – 3aw5TZetdf

0

ループを使用する代わりにタイマーを使用し、インターバル時間を2秒に保ちます。ボタンのクリック開始タイマーで終了をクラス変数として宣言し、条件が "終了"変数に合ったときにタイマーを停止します。あなたが持っているあなたのコードで

private void button1_Click(object sender, EventArgs e) 
     { 
      end = int.Parse(textBox2.Text); 
      timer1.Start(); 

     } 
     private int end = 0; 
     private int start = 0; 
     private void timer1_Tick(object sender, EventArgs e) 
     { 
      if (start == end) 
      { 
       timer1.Stop(); 
      } 
      else 
      { 
       start++; 
       textBox1.Text = start.ToString(); 
      } 
     } 
関連する問題