在 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 中清除文本的主要内容,如果未能解决你的问题,请参考以下文章