个性化阅读
专注于IT技术分析

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

本文概述

默认情况下, 没有任何富文本框允许通过拖放来粘贴文本, 因此用户必须将外部内容添加到你的应用程序的唯一方法是通过CTRL +V。因此, 在本例中, 解决方案将是更改此事件的默认行为, 而不是使用格式粘贴文本, 我们将仅提取纯文本并将其添加到富文本框中。

1.添加KeyDown事件

第一步, 你需要将新的事件侦听器附加到现有的Rich Text Box。事件侦听器将对KeyDown事件做出反应, 你可以通过工具箱的”事件”标签添加它:

KeyDown事件Richtextbox C#WinForms

这将在你的表单类中创建以下方法:

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

编码愉快!

赞(0)
未经允许不得转载:srcmini » 如何在C#WinForms应用程序中的RichTextBox中仅允许纯文本

评论 抢沙发

评论前必须登录!