2011-06-18 25 views
2

所以我試圖讓文本選定量(以豐富的文本框)去大寫或走低的情況下,該選項被點擊的contextMenu當。如何改變一個RichTextBox文本的情況下?

這裏是我想要使用的代碼:

private void toUPPERCASEToolStripMenuItem_Click(object sender, EventArgs e) 
     { 
      if (rtxtMain.SelectedText != "") 
      { 
       rtxtMain.SelectedText.ToUpper(); 
      } 
     } 

private void toLowercaseToolStripMenuItem_Click(object sender, EventArgs e) 
     { 
      if (rtxtMain.SelectedText != "") 
      { 
       rtxtMain.SelectedText.ToLower(); 
      } 
     } 

然而,當我嘗試一下,文本不會改變......我如何改變它?

+0

不要忘了接受一個答案 –

回答

10

您不能更改現有的字符串實例。 ToUpper()和ToLower()返回一個新的字符串實例。

嘗試

rtxtMain.SelectedText = rtxtMain.SelectedText.ToUpper(); 
+0

謝謝!完美的作品! – Alper

0
rtxtMain.text =ttxtMain.text.Replace(rtxtmain.SelectedText,rtxtmain.SelectedText.ToUpper()) 
5

字符串是在C#中不可改變的。因此,所有內置業務,不僅包括ToLowerToUpperReplaceTrim等,都將返回包含修改後的數據新的字符串。他們不會改變你現有的字符串。

這就是爲什麼,作爲海報的其餘部分已經注意到,你的答案是

rtxtMain.SelectedText = rtxtMain.SelectedText.ToUpper(); 
+1

+1解釋東西OP似乎沒有理解,超越只是提供了一個解決方案。 – BinaryTox1n

相關問題