【问题标题】:There's any way to avoid paste on textbox?有什么办法可以避免粘贴到文本框上?
【发布时间】:2014-05-08 15:15:50
【问题描述】:

我有一个带有一些不能接受某些字符的文本框的 GUI;为此,我在 KeyPress 事件上放置了一些代码,但如果我从剪贴板粘贴文本,该事件不会触发。

If InStr("><;*,!", e.KeyChar, CompareMethod.Text) Then
   e.KeyChar = ""
End If

所以我想禁用某些文本框上的文本粘贴,但我找不到任何属性来实现该目标。 如果我使用 Enable 属性,我无法编辑文本框,ReadOnly 属性也是如此。

你知道怎么做吗?

【问题讨论】:

  • 您是否尝试过使用 JavaScript 检查输入 onChange()?如果你这样做了,你可以运行你的过滤器函数并去掉你不想要的任何东西。
  • 有没有像 textchanged 这样的不同事件?
  • WPF、WinForms 还是 ASP.NET?
  • @durbnpoisn 适用于 VB.NET。 -- SonicTheLichen 是的,在其他 GUI 中使用了 TextChanged 事件,但在这个 GUI 上有很多文本框要编码,所以我宁愿禁用该功能。
  • @E_Blue:我明白了。我只是建议有时将语言组合在一起比固执地坚持一种更好的解决方案。甚至 .NET 本身也严重依赖 JS 来处理客户端的东西。

标签: vb.net winforms textbox


【解决方案1】:

ShortcutsEnabled 属性设置为False。这将禁用剪切、复制和粘贴。

TextBoxBase.ShortcutsEnabled Property

【讨论】:

    猜你喜欢
    • 2014-02-07
    • 2014-05-25
    • 2014-09-18
    • 1970-01-01
    • 2021-11-22
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多