2012-05-04 3 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()); 

이것을를 RichTextBox의 끝 부분에 클립 보드에 텍스트를 추가 할 것입니다 그것을 여러 번있을 것이다, 그래서 당신은 '추가'또는 텍스트의 끝 부분에 추가 할 필요가 , 동일한 텍스트를 여러 번 가져 오지만 모두 같은 줄에 있어야합니다. 당신이 텍스트는 여러 줄에 나타나게하려면 텍스트를 추가 한 후 새 줄을 추가해야합니다 :

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

또는를 :

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

희망이 도움이!

+0

정말 고마워요! 완벽하게 일했습니다! – Lavi

+0

예제가 많은 매우 유익한 +1! – 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(); 
      } 
     } 
관련 문제