在 C# 中的 RichTextBox 中清除文本

Posted

技术标签:

【中文标题】在 C# 中的 RichTextBox 中清除文本【英文标题】:Clear Text in RichTextBox in C# 【发布时间】:2012-04-23 13:29:24 【问题描述】:

我有一个 RichTextBox,我想对其进行编码,当用户在框中左键单击时,该文本框中的文本会被清除。

有人可以帮帮我吗?

我尝试过的代码是:

private void richTextBox1_TextChanged(object sender, EventArgs e)

    richTextBox1.text = "";

目前我有一个写有“在此处输入文本”的框(在属性部分的文本下) - 所以当用户在框内单击时,它将清除该文本,因此用户可以输入文本在那里。

谢谢。

【问题讨论】:

如果用户不使用鼠标而只是 Tab 键使 RichTextBox 成为焦点会发生什么? 或者如果用户将文本更改为他想要的内容?! 【参考方案1】:

试试这个

private void richTextBox1_Click(object sender, EventArgs e)

  if (richTextBox1.Text == "Input Text Here")
  
    richTextBox1.Clear();
    richTextBox1.Focus();
  

它会检查默认文本是否存在,如果存在则将其清除并赋予 Richbox 焦点,以便您输入文本。否则,它会继续进行常规的文本更改。

【讨论】:

如果您需要帮助,请告诉我,记住,当然用您的等替换我的对象名称。【参考方案2】:

订阅 rtb 的 MouseClick,然后执行:

    private void richTextBox1_MouseClick(object sender, MouseEventArgs e)
    
        if (e.Button == MouseButtons.Left)
        
            richTextBox1.Clear();
        
    

【讨论】:

我认为您不想在每次鼠标左键单击时清除文本! :) 你说得对,我不想每次鼠标点击都清除它,但是这个程序的主要原因不是保存输入的文本,而是当它在框中时使用它 -该程序是将文本转换为可读文本的工具。所以我左边有一个输入文本框,右边有一个可读列表框,中间有一个按钮。【参考方案3】:

您正在寻找的是一个提示文本框。您可以通过一个 WINAPI 调用来完成此操作。

将此作为参考:http://www.codeproject.com/Articles/18858/Fully-themed-Windows-Vista-Controls

【讨论】:

【参考方案4】:

我是VS2015用户。

richTextBox1.Clear();                 // Form
richTextBox1.Document.Blocks.Clear(); // WPF

【讨论】:

【参考方案5】:

这将起作用:

转到富文本框的“属性”。您将在第一行选项卡中看到一个黄色闪电。在那里,您将找到所有可能触发的事件。搜索“Enter”或“Click”条目,双击它。你可以放任何你想要的东西(比如richTextBox1.Text = "";)

【讨论】:

以上是关于在 C# 中的 RichTextBox 中清除文本的主要内容,如果未能解决你的问题,请参考以下文章

禁用 RichTextBox 中的滚动(c#)

如何在 RichTextBox C# 中“对齐”文本?

C# winform中richTextBox中自动滚至底部

C# 如何获取richTextBox的文本内容

如何在 RichTextBox 中添加 RTF 文本,Win C#

c# richtextbox : 如果把richtextbox中的文字图片保存到数据库(access)中。