Ten jest bardzo dziwne:ListView za DragEnter, DragOver, DragDrop nie podniósł (AllowDrop = True)
Moja aplikacja działa dobrze, ale nagle wydarzenia psiakrew formantu ListView nie są podniesione więcej. Po prostu przychodzi i odchodzi bez wyraźnego powodu. (Oczywiście) Mam ustawić właściwość AllowDrop True i obsługiwane DragEnter, DragOver i dragdrop wydarzenia następująco:
Private Sub lstApplications_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles lstApplications.DragDrop, Me.DragDrop
m_fileNames = CType(e.Data.GetData(DataFormats.FileDrop), String())
mnuType.Show(Cursor.Position, ToolStripDropDownDirection.BelowLeft)
End Sub
Private Sub lstApplications_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles lstApplications.DragEnter, Me.DragEnter, lstApplications.DragOver, Me.DragOver
If chkMode.Checked OrElse Not e.Data.GetDataPresent(DataFormats.FileDrop, True) Then
e.Effect = DragDropEffects.None
Else
e.Effect = DragDropEffects.Copy
End If
End Sub
Nie ma znaczenia, jaki kod pisałem w tych dwóch metod, ponieważ żaden z wydarzeń są podniesiony. Czy czegoś tu brakuje?
Uruchomiłem tę samą aplikację na innej maszynie i działało dobrze. Następnie uruchomiłem ponownie własną maszynę i wszystko zaczęło działać. Nie jestem pewien, ale wydaje się, że coś jest nie tak z Windows.
Tak. To dziwne, że działa przez jakiś czas, ale nagle się łamie. – TheAgent
Czy coś może zmienić wartość AllowDrop gdzieś w kodzie? –
Sprawdziłem. Właściwość ma wartość True i jest nienaruszona. – TheAgent