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

C# 如何更改RichTextBox中文本的大小写?,c#,winforms,richtextbox,C#,Winforms,Richtextbox,因此,当在上下文菜单中单击该选项时,我试图使选定数量的文本(在富文本框中)变为大写或小写 以下是我尝试使用的代码: private void toUPPERCASEToolStripMenuItem_Click(object sender, EventArgs e) { if (rtxtMain.SelectedText != "") { rtxtMain.SelectedText.ToUpper()

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

以下是我尝试使用的代码:

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();
            }
        }

然而,当我尝试时,文本没有改变。。。如何更改它?

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

试一试

字符串在C#中是不可变的。因此,所有内置操作,包括
ToLower
ToUpper
以及
Replace
Trim
等,都将返回包含修改数据的新字符串。它们不会更改您现有的字符串

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

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

+1.除了提供解决方案之外,还要解释OP似乎不理解的事情。别忘了接受答案
rtxtMain.text =ttxtMain.text.Replace(rtxtmain.SelectedText,rtxtmain.SelectedText.ToUpper())
rtxtMain.SelectedText = rtxtMain.SelectedText.ToUpper();