2011-05-02 73 views
1

我是C#的初學者,所以請對我溫柔。如何在RichTextBox上顯示更多結果?

我在試圖在富文本框中顯示更多結果時遇到問題,因爲它只能一次顯示一個結果。但是我想在單選按鈕已經被重置並且之前的結果仍然應該在富文本框中時顯示下一個結果。下面是我的編碼:

for(int i=0,i<30;i++) 
{ 
    if(symptom1.Checked && symptom2.Checked) 
    { 
    Result.Text=""; 
    Result.Text += "Your Disease is: "+"Meningiomas"; 
    } 

    if(symptom7.Checked && symptom8.Checked) 
    { 
    Result.Text=""; 
    Result.Text += "Your Disease is: "+"Pituitary Tumor"; 
    } 
} 
+0

你爲什麼要設置** Result.Text =「」; **。這將刪除以前的數據,刪除它,你應該罰款 – V4Vendetta 2011-05-02 09:08:09

回答

0

如果你不想刪除了以前的內容,刪除此代碼:

Result.Text=""; 

我想,你想達到什麼是:

  1. 清除RichTextBox
  2. 將所有匹配疾病寫入RichTextBox

這可以用這個代碼來完成:

Result.Text=""; 

for(int i = 0; i < 30; ++i) 
{ 
    if(symptom1.Checked && symptom2.Checked) 
    { 
     Result.Text += "Your Disease is: "+"Meningiomas"; 
    } 

    if(symptom7.Checked && symptom8.Checked) 
    { 
     Result.Text += "Your Disease is: "+"Pituitary Tumor"; 
    } 
} 
+0

是的,它的工作原理,謝謝 – 2011-05-02 09:27:34

0

你可以試試這個:

richTextBox1.AppendText(Environment.NewLine + "Sample text"); 
0

您只能在一次顯示一個結果的原因是因爲你明確在添加下一行之前,先輸入文本框的當前內容。具體地講,這行代碼是罪魁禍首:

Result.Text=""; 

既然你設置Text屬性等於一個空字符串(""),即清除出任何已經存在,基本上消除了文本框。

如果你只是從你的代碼中刪除該行,你應該看到你想要的。下一行被附加到已經存在的任何地方。然而,這隻會把它粘在已有的東西上。
它不會將其插入到新行中。要做到這一點,你必須在起始處插入一個換行符:

for (int i = 0; i < 30; i++) 
{ 
    if (symptom1.Checked && symptom2.Checked) 
    { 
     Result.Text += Environment.NewLine + "Your Disease is: " + "Meningiomas"; 
    } 

    if (symptom7.Checked && symptom8.Checked) 
    { 
     Result.Text += Environment.NewLine + "Your Disease is: " + "Pituitary Tumor"; 
    } 
} 

(注意Environment.NewLine是同樣的事情轉義序列\r\n它只是插入一個新的線路同任何一種方式。)

如果你想清除文本框中第一的當前內容,然後附加在您for循環中的所有值,你需要添加的代碼行回到了開始功能,前循環。在風格上,我也會寫它作爲string.Empty而不是"",但它並不重要。

Result.Text = string.Empty; 
0
for(int i=0,i<30;i++) 
{ 
if(symptom1.Checked && symptom2.Checked) 
    { 
    //Result.Text=""; remove this 
    Result.Text += "Your Disease is: "+"Meningiomas"; 
    } 

if(symptom7.Checked && symptom8.Checked) 
{ 
    //Result.Text=""; remove this 
    Result.Text += "Your Disease is: "+"Pituitary Tumor"; 
} 
} 

Result.Text = 「」;導致您的現有數據被替換爲空白文本,請將其刪除,並且您的結果應該沒問題。

希望這會有所幫助。

0

你的意思是一個可憐的不幸可能有1,2,7和8的症狀;因此可能一次有兩種類型的腫瘤:

for(int i=0,i<30;i++) { 
    Result.Text="Your Disease is:"; 
    if(symptom1.Checked && symptom2.Checked) { 
    Result.Text += " Meningiomas"; 
    } 
    if (symptom7.Checked && symptom8.Checked) { 
    Result.Text += " Pituitary Tumor"; 
    } 
} 

乾杯。基思。 PS:你的問題真的不是很清楚。