将文本框内的文本转换为纯文本

本文关键字:文本 转换 | 更新日期: 2023-09-27 18:26:53

我有一个应用程序,它有一个文本框、验证控件和一个按钮。问题是,如果有人从文本框内的word文档中复制文本,由于验证控件的原因,某些特殊字符将不被允许。但是,如果我删除了那些特殊字符,然后我们键入它们,验证控制就会起作用。有没有办法在文本框中将该文本转换为纯文本或富文本?

将文本框内的文本转换为纯文本

我假设您想在进行验证之前将文本转换为纯ASCII。

看看这个答案:将特殊字符从MS Word或Open Office writer转换为记事本

它看起来像你要找的。

如果是winforms应用程序,请尝试以下操作:

using System.Windows.Forms;
public class MyTextBox : TextBox 
{
    protected override void WndProc(ref Message m) {        
        if (m.Msg == 0x302 && Clipboard.ContainsText())
        {          
            var text = new string(Clipboard.GetText().Where(c => !char.IsControl(c)).ToArray());
            this.SelectedText = text;
            return;
        }
        base.WndProc(ref m);
    }
}

参考:http://msdn.microsoft.com/en-us/library/18zw7440(v=vs.110).aspx?cs save lang=1&cs lang=csharp