如何在C#WinForms应用程序中的RichTextBox中仅允许纯文本

本文概述

  • 1.添加KeyDown事件
  • 2.处理粘贴事件
  • 表格范例
默认情况下, 没有任何富文本框允许通过拖放来粘贴文本, 因此用户必须将外部内容添加到你的应用程序的唯一方法是通过CTRL +V。因此, 在本例中, 解决方案将是更改此事件的默认行为, 而不是使用格式粘贴文本, 我们将仅提取纯文本并将其添加到富文本框中。
1.添加KeyDown事件 第一步, 你需要将新的事件侦听器附加到现有的Rich Text Box。事件侦听器将对KeyDown事件做出反应, 你可以通过工具箱的” 事件” 标签添加它:
如何在C#WinForms应用程序中的RichTextBox中仅允许纯文本 这将在你的表单类中创建以下方法:
private void RichTextBox1_KeyDown(object sender, KeyEventArgs e){}

在下一步中, 我们将向你解释如何处理该事件。
2.处理粘贴事件 在KeyDown事件侦听器内部, 你需要验证按下的键的当前键组合是否对应于粘贴键。如果条件通过, 则只需将富文本框的当前文本与剪贴板的文本连接在一起。剪贴板提供了一种轻松获取纯文本的方式:
private void RichTextBox1_KeyDown(object sender, KeyEventArgs e){if (e.Control & & e.KeyCode == Keys.V){richTextBox1.Text += (string) Clipboard.GetData("Text"); e.Handled = true; }}

最后, 将事件标记为” 已处理” , 仅此而已。
表格范例 下面的示例包括表单的整个类, 显示了如何将事件附加到表单:
using System; using System.Windows.Forms; namespace Sandbox{public partial class Form1 : Form{public Form1(){InitializeComponent(); }private void RichTextBox1_KeyDown(object sender, KeyEventArgs e){if (e.Control & & e.KeyCode == Keys.V){richTextBox1.Text += (string) Clipboard.GetData("Text"); e.Handled = true; }}}}

【如何在C#WinForms应用程序中的RichTextBox中仅允许纯文本】编码愉快!

    推荐阅读