解决方法
您可以在任何手动输入之前备份文本,然后当提供的输入无效时,恢复以前的文本,如下所示:
_backupText = string.Empty; doNotPasteTextBox.TextInputStart += (sender,e) => { int textParsed; if(int.TryParse(e.Text,out textParsed)) { _backupText = doNotPasteTextBox.Text.Insert(doNotPasteTextBox.SelectionStart,e.Text); }else { e.Handled = true; } }; doNotPasteTextBox.TextChanged += (sender,e) => { int textParsed; int selectionStart = doNotPasteTextBox.SelectionStart; if(!int.TryParse(doNotPasteTextBox.Text,out textParsed)) { doNotPasteTextBox.Text = _backupText; } doNotPasteTextBox.SelectionStart = selectionStart; };
我不推荐trying to capture the control keys或任何东西,因为当你在Mac或Linux上然后你被搞砸了.
调整我的样本并将其倒入一个新的文本框控件中,以使其更清洁但你明白了.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。