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

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

有人可以帮帮我吗?

我尝试过的代码是:

private void richTextBox1_TextChanged(object sender, EventArgs e)
{
    richTextBox1.text = "";
}

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

谢谢。

【问题讨论】:

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

标签: c# richtextbox visual-studio-express


【解决方案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 = "";)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-21
        • 1970-01-01
        • 2019-09-06
        • 1970-01-01
        • 1970-01-01
        • 2019-07-19
        • 2011-04-15
        • 1970-01-01
        相关资源
        最近更新 更多