文本框复制粘贴处理数字与varchar数据

时间:2012-09-20 03:22:28

标签: c# .net vb.net winforms textbox

我的winforms应用程序中有数千个文本框。

我想禁用文本框的文本框的复制粘贴,以便文本框的数值只允许数字(整数)。

例如:

Employee number: 1234567
  1. 我尝试将false设置为文本框的ShortcutsEnabled属性,它完全停止禁用整个副本&粘贴,我不想要,我想允许复制粘贴数字。
  2. 我可以从剪贴板中获取数据
  3.   

    Clipboard.GetText();

    并检查是否

      

    Int32.TryParse

    检查数字/字符串。

    我是否可以使用任何通用方法而不是为每个代码固定代码或使用正则表达式?

3 个答案:

答案 0 :(得分:1)

使用MaskedTextBox或NumericUpDown而不是TextBox。

答案 1 :(得分:0)

一旦完全没有禁用的简单方法就是只使用数字masked textbox那样就会拒绝输入错误(非数字)。不仅适用于copypaste,也适用于直接投入。

答案 2 :(得分:0)

使用TextChanged事件并检查其中当前文本的验证 如果您打算在许多获胜形式中使用该文本框,那么我建议您创建TextBox的高级用户控件并覆盖其TextChanged方法。