如何更改RichTextBox中的文本大小写?

时间:2011-06-18 01:36:46

标签: c# winforms 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();
            }
        }

然而,当我尝试时,文字不会改变......我如何改变它?

3 个答案:

答案 0 :(得分:10)

您无法更改现有的字符串实例。 ToUpper()和ToLower()返回一个新的字符串实例。

尝试

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

答案 1 :(得分:6)

字符串在C#中是不可变的。因此,所有内置操作(不仅包括ToLowerToUpper,还包括ReplaceTrim等,都将返回包含已修改数据的新字符串。它们不会更改现有字符串。

这就是为什么,正如其他海报所说,你的答案是

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

答案 2 :(得分:0)

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