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

时间:2014-10-17 21:06:01

标签: c# asp.net validation textbox

我有一个应用程序,它有一个文本框,验证控件和一个按钮。问题是如果有人从文本框内的word文档复制文本,由于验证控制,某些特殊字符将不被允许。但是如果我删除那些特殊字符并输入它们,则验证控件可以正常工作。有没有办法将文本转换为文本框内的纯文本或富文本?

2 个答案:

答案 0 :(得分:0)

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

查看此答案:Conversion of Special characters from MS-Word or Open Office writer to Notepad

看起来就像你在寻找的东西。

答案 1 :(得分:0)

如果是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