none
Bloquear al copiar, pegar y cortar con el mouse RRS feed

  • Pregunta

  • Hola quiero bloquear el copiar, pegar y cortar con el mouse ya que con el teclado lo bloquedo de la siguiente manera...

     

    Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown

     

    If ModifierKeys = Keys.Control Then

    e.Handled =

    True

    TextBox1.ReadOnly =

    True

     

    Else

    TextBox1.ReadOnly =

    False

     

    End If

     

    End Sub

    pero al hacer click con el derecho sobre el textbox igual me deja copiar,pegar o cortar..

    domingo, 7 de noviembre de 2010 18:27

Respuestas

  • ¿Todo ese código hay que escribir para impedir que se puede copiar, pegar y cortar? Creía que con establecer el valor False a la propiedad ShortcutsEnabled del control TextBox, era suficiente.


    Enrique Martínez [MS MVP - VB]
    • Marcado como respuesta DataGriview domingo, 7 de noviembre de 2010 19:43
    domingo, 7 de noviembre de 2010 18:52
    Moderador

Todas las respuestas

  • hola

    Disable Copy Paste Operation in Windows Forms.

    creo que el uso de

    Dim Const CopyKeys = Keys.ControlKey+Keys.C
    Dim Const PasteKeys= Keys.ControlKey+Keys.V

    Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keydata As Keys) As Boolean

        If  keydata = CopyKeys Or keydata = PasteKeys Then
            Return True
        Else
            Return MyBase.ProcessCmdKey(msg, keydata)
        End If
       
    End Function

    qudaria mejor para evitar el copy y paste de los controles, en este caso es generico para todos los controles

    si quieres hacerlo solo para el textbox1 podrias usar

    Dim Const CopyKeys = Keys.ControlKey+Keys.C
    Dim Const PasteKeys= Keys.ControlKey+Keys.V

    Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keydata As Keys) As Boolean

        If Not TextBox1.Focused Then
               Return MyBase.ProcessCmdKey(msg, keyData)
        End If
       
        If  keydata = CopyKeys Or keydata = PasteKeys Then
            Return True
        Else
            Return MyBase.ProcessCmdKey(msg, keydata)
        End If
      
    End Function

    esto queda mejor que el KeyDown

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 7 de noviembre de 2010 18:37
  • "DataGridview" preguntó:

    > quiero bloquear el copiar, pegar y cortar con el mouse ya que con
    > el teclado lo bloquedo de la siguiente manera...

    Si deseas deshabilitar dichas opciones, establece el valor False a la propiedad ShortcutsEnabled del control TextBox, y cuando desees nuevamente habilitarlas, cambias su valor a True:

     TextBox1.ShortcutsEnabled = False

    Lo anterior sirve también para que no se pueda copiar, pegar y cortar con el teclado mediante los accesos directos definidos, por lo que puedes "matar dos pájaros de un tiro". :-)

    Un saludo

     


    Enrique Martínez [MS MVP - VB]
    domingo, 7 de noviembre de 2010 18:49
    Moderador
  • ¿Todo ese código hay que escribir para impedir que se puede copiar, pegar y cortar? Creía que con establecer el valor False a la propiedad ShortcutsEnabled del control TextBox, era suficiente.


    Enrique Martínez [MS MVP - VB]
    • Marcado como respuesta DataGriview domingo, 7 de noviembre de 2010 19:43
    domingo, 7 de noviembre de 2010 18:52
    Moderador
  • revisando el tema note que esta misma pregunta ya la habias realziado

    http://social.msdn.microsoft.com/Forums/es-ES/vbes/thread/8cbc96ec-398a-4001-8ac3-dd120cd2bdb3/

    pero no hay repsuesta alli

    no fueron utiles los planteos realizados en esa otra consulta?

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 7 de noviembre de 2010 19:01
  • Excelente respuesta, a mi me sirvió pero de muuuuucho

    :)

    jueves, 30 de diciembre de 2010 1:23