none
intercettare pressione di uno dei tasti del mouse fuori dalla form RRS feed

  • Domanda

  • ciao a tutti...

    come scritto nel titolo sto cercando un modo per individuare se fuori dalla form sto premendo il tasto dx o sx del mouse...questo perchè  a secondo del tasto premuto uso fuzione drag and drop in un modo o nell'altro (intendo nel caso sposto un file sopra alla dbgrid utilizzando la pressione del tasto sinistro questa tabella si cancella e inserisce tutti i dati da zero però nel caso lo metto nella dbgrid utilizzando il tasto destro me li aggiunge ai dati che ci sono gia dentro alla tabella)

    io uso visual studio 2010 express

    grazie a tutti

    martedì 30 agosto 2011 14:36

Risposte

  • Ciao Destroyer1090,

    ciao a tutti...

    come scritto nel titolo sto cercando un modo per individuare se fuori dalla form sto premendo il tasto dx o sx del mouse...questo perchè a secondo del tasto premuto uso fuzione drag and drop in un modo o nell'altro (intendo nel caso sposto un file sopra alla dbgrid utilizzando la pressione del tasto sinistro questa tabella si cancella e inserisce tutti i dati da zero però nel caso lo metto nella dbgrid utilizzando il tasto destro me li aggiunge ai dati che ci sono gia dentro alla tabella)

    io uso visual studio 2010 express

    grazie a tutti


    aggiungo a quanto suggerito  quest'altro esempio .

     

    Sul Form
    
    Private Sub Form1_DragEnter(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragEnter
      If e.KeyState.Equals(Keys.LButton) Then
       'il tuo codice qui
      End If
    
      If e.KeyState.Equals(Keys.RButton) Then
       'il tuo codice qui
      End If
     End Sub
    
    
    Su controllo DataGridView
    
    Private Sub DataGridView1_DragEnter(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles DataGridView1.DragEnter
      If e.KeyState.Equals(Keys.LButton) Then
       'il tuo codice qui
      End If
    
      If e.KeyState.Equals(Keys.RButton) Then
       'il tuo codice qui
      End If
     End Sub
    
    

    Ciao

     


    Carmelo La Monica

    Blog http://community.visual-basic.it/carmelolamonica/

    WordPress http://carmelolamonica.wordpress.com/

    Twitter  http://twitter.com/carmelolamonica

    • Proposto come risposta Mario Formosa mercoledì 31 agosto 2011 07:21
    • Contrassegnato come risposta X-SL4UGHT3R mercoledì 31 agosto 2011 08:53
    martedì 30 agosto 2011 20:21

Tutte le risposte

  • Ciao, bella domanda !! Dimmi se l'ho capita...

    Diciamo che hai un form che contiene una dbgrid, poi apri in windows una finestra di esplora risorse e trascini un file sulla dbgrid o utilizzando il tasto destro o utilizzando il tasto sinistro del mouse... A seconda se il tasto e destro o sinistro devi rimpiazzare i dati della dbgrid con quelli del file o aggiungere i dati del file a quelli esistenti nella dbgrid..

    Ho capito ?


    mario formosa
    martedì 30 agosto 2011 17:23
  • Intercetti anche l'evento MouseDown e salvi in un field il button premuto, nell'evento DragDrop a seconda del field esegui l'una o l'altra operazione.


    Matteo Migliore

    Bloghttp://blogs.ugidotnet.org/matteomigliore
    Twitterhttp://twitter.com/matteomigliore
    CodePlex
    martedì 30 agosto 2011 17:29
  • Prova questo codice

     

    Private Sub DataGridView1_DragEnter(sender As Object, e As System.Windows.Forms.DragEventArgs) Handles DataGridView1.DragEnter
    
     Select Case e.KeyState
    
      Case 1 'tasto sinistro
      'Accoda
    
    
      Case 2 ' tasto destro
      'Rimpiazza
    
    
     End Select
    
    
     End Sub
    

     Attenzione che se durante il trascinamento si tiene premuto ad esempio shift inseme al tasto left, keystate restituisce 5.

    Ciao.


    mario formosa

    martedì 30 agosto 2011 17:54
  • Ciao Destroyer1090,

    You wrote on 30/08/2011 :

    come scritto nel titolo sto cercando un modo per individuare se fuori dalla form sto premendo il tasto dx o sx del mouse...questo perchè  a secondo del tasto premuto uso fuzione drag and drop in un modo o nell'altro (intendo nel caso sposto un file sopra alla dbgrid utilizzando la pressione del tasto sinistro questa tabella si cancella e inserisce tutti i dati da zero però nel caso lo metto nella dbgrid utilizzando il tasto destro me li aggiunge ai dati che ci sono gia dentro alla tabella)

    WPF?

    non ti serve, puoi sapere quale tasto è premuto durante l'operazione di drag quando arrivi sulla tua form/controllo.

    .m


    Mauro Servienti
    {C67C0157-5D98-4733-A75E-93CAEE4BADC8}
    Microsoft MVP - Visual C# / MCTS
    http://mvp.support.microsoft.com
    blog @ http://milestone.topics.it
    whynot [ at ] topics [ dot ] it
    martedì 30 agosto 2011 18:22
  • Ciao Destroyer1090,

    ciao a tutti...

    come scritto nel titolo sto cercando un modo per individuare se fuori dalla form sto premendo il tasto dx o sx del mouse...questo perchè a secondo del tasto premuto uso fuzione drag and drop in un modo o nell'altro (intendo nel caso sposto un file sopra alla dbgrid utilizzando la pressione del tasto sinistro questa tabella si cancella e inserisce tutti i dati da zero però nel caso lo metto nella dbgrid utilizzando il tasto destro me li aggiunge ai dati che ci sono gia dentro alla tabella)

    io uso visual studio 2010 express

    grazie a tutti


    aggiungo a quanto suggerito  quest'altro esempio .

     

    Sul Form
    
    Private Sub Form1_DragEnter(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragEnter
      If e.KeyState.Equals(Keys.LButton) Then
       'il tuo codice qui
      End If
    
      If e.KeyState.Equals(Keys.RButton) Then
       'il tuo codice qui
      End If
     End Sub
    
    
    Su controllo DataGridView
    
    Private Sub DataGridView1_DragEnter(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles DataGridView1.DragEnter
      If e.KeyState.Equals(Keys.LButton) Then
       'il tuo codice qui
      End If
    
      If e.KeyState.Equals(Keys.RButton) Then
       'il tuo codice qui
      End If
     End Sub
    
    

    Ciao

     


    Carmelo La Monica

    Blog http://community.visual-basic.it/carmelolamonica/

    WordPress http://carmelolamonica.wordpress.com/

    Twitter  http://twitter.com/carmelolamonica

    • Proposto come risposta Mario Formosa mercoledì 31 agosto 2011 07:21
    • Contrassegnato come risposta X-SL4UGHT3R mercoledì 31 agosto 2011 08:53
    martedì 30 agosto 2011 20:21
  • Ciao, bella domanda !! Dimmi se l'ho capita...

    Diciamo che hai un form che contiene una dbgrid, poi apri in windows una finestra di esplora risorse e trascini un file sulla dbgrid o utilizzando il tasto destro o utilizzando il tasto sinistro del mouse... A seconda se il tasto e destro o sinistro devi rimpiazzare i dati della dbgrid con quelli del file o aggiungere i dati del file a quelli esistenti nella dbgrid..

    Ho capito ?


    mario formosa
    Correttamente!
    mercoledì 31 agosto 2011 07:20
  • L'esempio di Carmelo è più accurato, prenderebbe in considerazione solo gli stati relativi ai pulsanti del mouse.

    Ciao.


    mario formosa
    mercoledì 31 agosto 2011 07:23