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

2 c# richtextbox winforms

因此,当在上下文菜单中单击该选项时,我正在尝试将选定数量的文本(在富文本框中)变为大写或小写.

这是我正在尝试使用的代码:

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();
            }
        }
Run Code Online (Sandbox Code Playgroud)

但是,当我试一试时,文字没有改变......我如何改变它?

Bal*_*a R 10

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

尝试

rtxtMain.SelectedText = rtxtMain.SelectedText.ToUpper();
Run Code Online (Sandbox Code Playgroud)


Dom*_*nic 6

字符串在C#中是不可变的.因此,所有内置业务,不仅包括ToLower和ToUpper也Replace,Trim等等,将返回包含修改后的数据新的字符串.它们不会更改现有字符串.

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

rtxtMain.SelectedText = rtxtMain.SelectedText.ToUpper();
Run Code Online (Sandbox Code Playgroud)