2011-06-18 33 views
2

私はリッチテキストボックス内の選択された量のテキストを大文字にするか、小文字にすることを試みています。そのオプションがコンテキストメニューでクリックされたときです。ここで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#で不変です試してみてください。したがって、ToLowerおよびToUpperだけでなく、ReplaceTrimなどの組み込み演算は、変更されたデータを含む新しい文字列を返します。彼らはあなたの既存の文字列を変更しません。

これはポスターの残りの部分は指摘しているとして、あなたの答えは

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

OPが解決策を提示するだけでは理解できないようなことを説明するため+1。 – BinaryTox1n

関連する問題